如何通过POLLIN多路复用多个插座?
while True:
socks = dict(poller.poll())
if socks.get(control_receiver) == zmq.POLLIN:
...
if socks.get(work_receiver) == zmq.POLLIN:
...
如何使侦听线程更可靠,更易于处理?
背景:我正在推出自己的API服务器并想知道如何制作控制器(从外部源接收请求的部分以及来自工作人员的控制信号)
答案 0 :(得分:6)
ØMQPoller可用于服务多个套接字并与之通信。
然而,使用ØMQPoller,您最终会使用显式块(在if循环下)来处理套接字。使用ØMQPoller注册的每个套接字都必须有一个明确的“if block”来处理它。
当你开始编写更大的程序时,这变得笨拙。我想补充一下 - “有点难看”
使用事件循环,这会变得更加简化,因为您可以注册回调以接收和发送数据,并且您可以将回调构建在其他位置。
我在编写的教程中有以下示例。