首页 > 解决方案 > 在 python 中,网络中 3 台以上的计算机之间是否可以进行分散通信?

问题描述

所以我一直在绞尽脑汁试图实现一个系统,在该系统中,网络上的计算机(网络上总是有三台或更多台计算机)能够通过相互发送数据来相互异步通信。

到目前为止,就解决方案而言,我所能找到的只是套接字——据我所知,它需要一个客户端和一个服务器脚本。我的第一个问题是我想删除任何客户端或服务器角色,因为网络上的所有计算机都是分散的,并且在没有服务器的情况下同时运行相同的脚本。其次,所有计算机都从特定时间点发送其他节点(随机选择)传感器数据。例如,如果我在网络上有 4 台计算机——因为它们都运行相同的脚本——它们决定同时将数据发送到另一台计算机,这不会导致等待锁定,因为所有的节点正在尝试与另一台计算机通信,但这些计算机无法接受连接,因为它们也在尝试发送数据?

我考虑过使用多线程同时运行我的 begin_sync 和 wait_sync 函数,但我不确定这是否可行。有没有人对我可以研究的解决方案有任何建议或想法?

谢谢你的时间!

标签: pythonnetwork-programminggossip

解决方案


根据 NotTheBatman 的回复,我能够使用多个端口上的套接字来使其工作。至于我如何处理能够等待传感器数据和查询其他节点的问题,我只是简单地使用了多线程并取得了巨大的成功。


推荐阅读