Python套接字编程

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

我正在为云计算环境开发测试平台。我想建立与服务器的多个客户端连接。我想要的是,服务器首先向指定sending_interval的所有客户端发送数据,然后所有客户端将继续发送时间间隔为time_interval(由服务器指定)的数据。请帮帮我,我怎么能用python socket程序做同样的事情。 (即我希望多个客户端与单个服务器连接,以及客户端使用服务器指定的时间间隔发送数据)。如果有人能帮助我,那将是非常充实的。提前致谢。

python sockets networking cloud
2个回答
0
投票

ZeroMQ套接字库很容易解决这个问题。生产稳定。它允许您定义发布者 - 订阅者关系,其中发布过程将在端口上发布数据,而不管有多少(0到无限)侦听进程。他们称之为PUB-SUB模型;它在他们的文档中(链接如下)。

听起来你想要设置一堆所有发布者的客户端。他们可以订阅控制通道,该控制通道将更新其配置(写入频率)。它们还充当发布者,以default / config channel / socket指定的间隔推出自己的数据。

然后,您有一个或多个侦听进程,侦听所有客户端发布的消息。也许你甚至可以有两个监听过程,一个用于备份或DR,或者其他什么。

我们正在使用ZeroMQ并喜欢它所带来的简洁性;没有连接错误,因为发布者不关心是否有人正在收听,并且订阅者可以在发布者之前启动,如果没有任何内容可以收听,它可以循环并等到有。

绑定以所有语言提供(它是怪异的)。 Python绑定不是纯python,它确实需要C编译器,但速度非常快,而pub / sub示例是剪切/粘贴,“很棒,它可以工作!”经验。

链接:http://zeromq.org

此库提供了许多其他方法,包括消息队列等。它们也有相对完整的文档。


0
投票

多客户端和单服务器套接字编程可以通过套接字编程中的多线程实现。我已经实现了这两种方法:

  1. 单客户端和单服务器
  2. 多客户和单服务器

在我的GitHub回购链接:https://github.com/shauryauppal/Socket-Programming-Python

什么是多线程套接字编程?多线程是在单个进程中同时执行多个线程的过程。

为了更好地理解你可以访问链接:https://www.geeksforgeeks.org/socket-programming-multi-threading-python/,由我写。

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