不同机器使用Pyro4报错99
Error 99 when using Pyro4 on different machiens
我使用的部分代码基于 https://github.com/irmen/Pyro4/tree/master/examples/messagebus 中的消息总线示例。我在一台机器上设置了一个 Pyro4 名称服务器。服务器和发布者也在这台机器上 运行ning。
如果我在这台机器上 运行 订阅者工作,但如果我尝试 运行 它在另一台机器上,我会收到错误消息。我需要它在几台不同的机器上工作。
我得到的错误是:"error: [Errno 99] Cannot assign requested address"
我的代码失败的行是:
d = Pyro4.Daemon(host = NS_HOST, port = 6193)
其中 NS_HOST 是名称服务器等 运行ning 所在的主机的名称,6193 是 ns 使用的端口。由于某种原因,它似乎在本地主机以外的任何地方都不起作用。我需要做任何不同的事情吗?
我知道我可以连接到该主机的 ns,因为我没有收到以下错误:
Pyro4.locateNS(host = NS_HOST, port = 6193)
以上行目前不在我的代码中(我只是用它来检查我是否遇到错误的主机名、防火墙等问题)但我想知道是否有办法将它结合起来使用 Pyro4.Daemon() 使代码正常工作 - 有什么想法吗?
我正在使用 python 2.7.
感谢您的帮助!
(包含实际的堆栈跟踪通常会有所帮助,而不仅仅是最终的错误消息。而且,"Error 99" 也有点含糊不清。)
但是,该错误消息是 OS错误的一部分,并非由 Pyro 本身引起。这是来自您的 OS 套接字库的错误情况 因为您试图在错误的网络接口地址上绑定 Pyro 守护程序:您提供的地址运行 在另一个节点上的名称服务器。
Daemon 的 'host' 和 'port' 参数与您提供给 locateNS 函数的参数不同。请参阅 https://pyro4.readthedocs.io/en/stable/servercode.html#creating-a-daemon 通常您根本不需要指定它们,只需让 Pyro 找出合适的默认值即可。
我使用的部分代码基于 https://github.com/irmen/Pyro4/tree/master/examples/messagebus 中的消息总线示例。我在一台机器上设置了一个 Pyro4 名称服务器。服务器和发布者也在这台机器上 运行ning。
如果我在这台机器上 运行 订阅者工作,但如果我尝试 运行 它在另一台机器上,我会收到错误消息。我需要它在几台不同的机器上工作。
我得到的错误是:"error: [Errno 99] Cannot assign requested address"
我的代码失败的行是:
d = Pyro4.Daemon(host = NS_HOST, port = 6193)
其中 NS_HOST 是名称服务器等 运行ning 所在的主机的名称,6193 是 ns 使用的端口。由于某种原因,它似乎在本地主机以外的任何地方都不起作用。我需要做任何不同的事情吗? 我知道我可以连接到该主机的 ns,因为我没有收到以下错误:
Pyro4.locateNS(host = NS_HOST, port = 6193)
以上行目前不在我的代码中(我只是用它来检查我是否遇到错误的主机名、防火墙等问题)但我想知道是否有办法将它结合起来使用 Pyro4.Daemon() 使代码正常工作 - 有什么想法吗?
我正在使用 python 2.7.
感谢您的帮助!
(包含实际的堆栈跟踪通常会有所帮助,而不仅仅是最终的错误消息。而且,"Error 99" 也有点含糊不清。)
但是,该错误消息是 OS错误的一部分,并非由 Pyro 本身引起。这是来自您的 OS 套接字库的错误情况 因为您试图在错误的网络接口地址上绑定 Pyro 守护程序:您提供的地址运行 在另一个节点上的名称服务器。
Daemon 的 'host' 和 'port' 参数与您提供给 locateNS 函数的参数不同。请参阅 https://pyro4.readthedocs.io/en/stable/servercode.html#creating-a-daemon 通常您根本不需要指定它们,只需让 Pyro 找出合适的默认值即可。