Pyro5:如何在不同机器之间连接

问题描述 投票:0回答:1

我是一名正在努力通过要求的学生。因为这个需求我只知道python和pyro5。

我有来自https://github.com/irmen/Pyro5/tree/master/examples/chatbox的代码,这是pyro5的示例文档。我能够让它在虚拟机上运行(server.py 和 client.py)并且运行完美。

现在我正在尝试让它在 3 台不同的机器之间工作。 服务器、客户端 1 和客户端 2。

我的理解是我需要确保client.py文件所在的服务器与托管server.py的ip相同。

Server.py 守护进程设置代码如下:

**注意**:我正在服务器的一个终端中运行pyro5-ns。

Client.py

**错误:**但我收到“Pyro5.errors.CommunicationError:无法连接到('localhost',9090):[Errno 111]连接被拒绝”... “无法找到名称服务器”)来自 x Pyro5.errors.NamingError:无法找到名称服务器

我是不是漏掉了一步?重申一下,如果 server.py 和 client.py 都在同一台计算机上运行,则此代码将运行。我的目标是让3个或机器聊天。

是否可以使用我从这个线程获得的Pyro5.Daemon.serveSimple,但它适用于Pyro4(Pyro4:无法找到名称服务器)?但我不确定如何配置代码。

任何帮助将不胜感激。

python chat pyro
1个回答
0
投票

我通过反复试验设法弄清楚了这一点。

  1. 将 IP 分配给服务器的命名实例 使用pyro5-ns -n,

  2. 然后将namedserver参数更改为ns.register(, uri)

  3. 然后将客户端代码的代理参数从 PYRO:PYRONAME 更改为 PYRO:PYRO.namedinstance:port。

© www.soinside.com 2019 - 2024. All rights reserved.