我试图使用PYRO4和Python2.7将客户端计算机连接到不同网络中的服务器mashine
我的服务器代码是:
import Pyro4
class Thing(object):
def method(self, arg):
return arg*2
daemon=Pyro4.Daemon(port=9999,nathost="78.149.X.X", natport=5555)
uri=daemon.register(Thing(),"gameServer") # register Thing() as a Pyro object
print "Ready. Object uri =", uri
daemon.requestLoop()客户端代码是:
import Pyro4
server = Pyro4.Proxy("PYRO:gameServer@78.149.X.X:5555")
print server.method(6)但是,当我运行服务器时,我得到了以下错误:
CommunicationError: cannot connect: [Errno 10061] No connection could be made because the target machine actively refused it我搜索了8个小时来解决这个问题,但它似乎不会永远固定。如果有人知道解决办法,请帮帮我。
注意: 1.我是路由器后面的服务器,所以我将端口5555禁止到我的私有IP地址。另外,我还通过在线服务测试了端口,并正确地打开了端口。
发布于 2015-07-13 20:08:53
你试过手册中提到的所有建议了吗?
您的守护进程在您认为的地址上是不可访问的。也许您需要向守护进程构造函数调用添加一个适当的绑定主机,以便将其绑定到外部可访问的网络接口上。
也试着逐个消除可能的原因,看看哪一个是罪魁祸首。例如,你试过在没有路由器的情况下运行它吗?
https://stackoverflow.com/questions/31372515
复制相似问题