我对Python和Pyro4还比较陌生,我正在尝试如何使用它们。我的问题是,考虑到下面的服务器和客户端代码,我的两台计算机似乎无法相互通信。他们都在运行Ubuntu12.04,并且在同一个本地网络上,可以互相ping(和ssh)。服务器IP为192.168.0.18,客户端为192.168.0.22。在
以下是我使用过的(非常基本的)服务器代码(服务器):import Pyro4
class dispatcher(object):
def __init__(self):
self.name = "Dispatcher"
self.version = "0.1"
def request_work(self):
print("Someone requested work!")
return ['Work']
disp = dispatcher()
daemon = Pyro4.Daemon(host="192.168.0.18", port=5150)
Pyro4.Daemon.serveSimple(
{ disp: "test.dispatcher" },
ns=False,
daemon=daemon,
verbose = True
)
这将运行并输出以下内容:
^{pr2}$
在客户机上:import Pyro4
di = Pyro4.Proxy("PYRO:test.dispatcher@192.168.0.18:5150")
di.request_work()
过了一会儿,这又回来了:Pyro4.errors.CommunicationError: cannot connect: [Errno 110] Connection timed out
我也试过设置Pyro4。配置主机='192.168.0.18'而不是设置守护进程,但没有运气。在
你知道为什么这不起作用吗,或者我做错了什么吗?在