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