我是一名学生,正在努力通过一项要求。我只知道python和pyro 5,因为这个要求。
我有一个来自https://github.com/irmen/Pyro5/tree/master/examples/chatbox的代码,它是pyro 5的示例文档。我能够让它在虚拟机(server.py和client.py)上运行,并且运行得很完美。
现在我正在尝试让它在3台不同的机器之间工作。服务器、客户端1和客户端2。
我的理解是,我需要确保client.py文件所在的服务器与托管server.py的IP相同。
Server.pydaemon设置代码如下:
注意:我在服务器的一个终端上运行pyro 5-ns。
Client.py有
**错误:**但我得到“Pyro5.errors.CommunicationError:无法连接到('localhost',9090):[Errno 111]连接被拒绝”.“Failed to locate the nameserver”)从x Pyro5.errors.NamingError:无法定位名称服务器
我是不是漏了一步?重申一下,如果server.py和client.py都在同一台机器上运行,则会运行此代码。我的目标是让3或机器聊天。
有没有可能使用Pyro5.Daemon.serveSimple,我从这个线程得到的,但它的Pyro 4(Pyro4: Failed to locate the nameserver)?我不知道如何配置代码。
任何帮助将不胜感激。
1条答案
按热度按时间rsl1atfo1#
我是通过反复试验才弄明白的。
1.通过使用pyro 5-ns-n将ipMap到服务器的指定示例,
1.然后将namedserver参数更改为ns.register(,uri)
1.然后将客户端代码的代理参数从PYRO:PYRONAME更改为PYRO:PYRO.namedinstance:port。