我正在使用 PyZMQ 创建请求/回复服务器,并且我试图弄清楚为每个新客户端连接创建线程的行为是否由 PyZMQ 自动处理。最终,我试图弄清楚来自一个客户端的需要很长时间才能回复的请求是否会阻止来自所有其他客户端的请求。
通常,我会在 Python 套接字实例上调用 accept ,阻塞直到建立新连接,并在单独的线程中处理任何新连接。但是,PyZMQ 套接字似乎不支持这样的工作流程。那么,这在 PyZMQ 中是如何处理的呢?如果 PyZMQ REP 套接字有多个客户端连接到它,它如何正确地将回复路由回发出请求的客户端?而且,我如何设计我的代码,以便在客户端发出长时间运行的请求时不会阻止来自其他客户端的请求?
我知道我可以使用 PyZMQ 提供的基于 Tornado 的 EventLoop,我只是想更好地了解如果这不是一个选项,它将如何工作。