我正在为云计算环境开发一个测试床。我想建立到服务器的多个客户端连接。我想要的是,服务器首先向指定sending_interval的所有客户端发送数据,然后所有客户端将继续发送数据,时间间隔为time_interval (由服务器指定)。请帮助我,我怎么能做同样的使用python程序。(也就是说,我希望多个客户端连接到单个服务器,也希望客户机发送具有服务器指定时间间隔的数据)。如果有人能帮我的话,那就太棒了。提前谢谢。
发布于 2012-07-24 14:40:31
很容易通过ZeroMQ套接字库解决这个问题。生产稳定。它允许您定义发布者-订阅者关系,其中发布进程将在端口上发布数据,而不管有多少(0到无限)侦听进程。他们称它为酒吧子模型,它在他们的文档中(链接在下面)。
听起来你想建立一群都是出版商的客户。他们可以订阅一个控制通道,它将发送更新到他们的配置(多久写一次)。它们还充当发布者,按默认/配置通道/套接字指定的间隔推出自己的数据。
然后,您有一个或多个侦听进程来侦听所有客户端发布的消息。也许您甚至可以有两个侦听过程,一个用于备份或DR,或者其他什么。
我们正在使用ZeroMQ,并且喜欢它给提供的简单性;没有连接错误,因为发布者不关心是否有人在监听,订阅者可以在发布服务器之前启动,如果没有什么可听的,它可以循环并等待。
绑定在所有语言中都是可用的(这很奇怪)。Python绑定不是纯python,它确实需要一个C编译器,但是速度快得吓人,pub/sub示例是一个剪切/粘贴,‘天哪,它能工作!’体验。
这个库还有许多其他方法可用,包括消息队列等。它们也有相对完整的文档。
发布于 2018-09-03 14:07:53
套接字编程中的多线程可以实现多客户端和单服务器套接字编程.我已经实现了这两种方法:
在我的GitHub回购链接:中
多线程套接字编程是什么?多线程是在一个进程中同时执行多个线程的过程。
为了更好地理解,你可以访问链接:,我写的。
https://stackoverflow.com/questions/6403073
复制相似问题