我使用的部分代码基于https://github.com/irmen/Pyro4/tree/master/examples/messagebus上的 messagebus 示例。我在一台机器上设置了 Pyro4 名称服务器。服务器和发布者也在这台机器上运行。
如果我在这台机器上运行它,订阅者可以工作,但如果我尝试在另一台机器上运行它,我会收到错误消息。我需要这个在几台不同的机器上工作。
我得到的错误是:“错误:[Errno 99] 无法分配请求的地址”
我的代码失败的行是:
d = Pyro4.Daemon(host = NS_HOST, port = 6193)
其中 NS_HOST 是运行名称服务器等的主机的名称,6193 是 ns 使用的端口。出于某种原因,除了本地主机之外,它似乎在任何地方都不起作用。我需要做一些不同的事情吗?我知道我可以连接到该主机的 ns,因为我没有收到以下错误:
Pyro4.locateNS(host = NS_HOST, port = 6193)
上面的行目前不在我的代码中(我只是用它来检查我没有遇到错误的主机名、防火墙等问题)但我想知道是否有一种方法可以将它与 Pyro4.Daemon 结合起来( ) 让代码工作 - 有什么想法吗?
我正在使用python 2.7。
谢谢你的帮助!