【发布时间】:2015-08-26 23:09:49
【问题描述】:
我有一个侦听传入数据请求的 python TCP 服务器。一旦有人连接到它,服务器就会开始向该客户端提供数据。它提供的数据通过某个端口上的 UDP 进入。
问题是,如何将来自 UDP 端口的相同数据提供给可能的多个 tcp 客户端?
一些背景信息: 1.创建一个线程来监听传入的UDP数据。 2. 每次有新的 TCP 客户端连接时,都会创建一个新线程。
我查看了 python Queue 包,但似乎这是点对点的,并且对我的目标有限制。
有什么想法吗?
【问题讨论】:
-
您想在队列中开球。据我所知,它没有实施。我担心你被 n 个队列困住,并且必须向所有队列提供数据。也许你可以把它包装在一个类中
-
这适合发布-订阅模型,其中服务器也是 UDP 客户端。建议为此查看 ØMQ。文档位于zguide.zeromq.org/page:all#Getting-the-Message-Out,Python 服务器代码位于zguide.zeromq.org/py:wuserver,Python 客户端代码位于zguide.zeromq.org/py:wuclient。 Pubsub 模块也可以做到这一点,但我没用过,见pubsub.sourceforge.net
-
关于 ØMQ 的有趣读物。感谢这两个想法。两个都试一下
标签: python multithreading sockets tcp