【发布时间】:2013-03-01 10:27:05
【问题描述】:
当我在 Windows (Windows 8) 上尝试使用 python 的路由器示例时,我收到以下错误消息:
Traceback (most recent call last):
File "router.py", line 43, in <module>
client.bind("ipc://routing.ipc")
File "socket.pyx", line 432, in zmq.core.socket.Socket.bind (zmq\core\socket.c:3870)
File "checkrc.pxd", line 23, in zmq.core.checkrc._check_rc (zmq\core\socket.c:5712)
zmq.error.ZMQError: Protocol not supported
所以我认为 zeromq 的 IPC 传输通道在 Windows(至少 Windows 8)上不受支持。这是真的吗?
【问题讨论】:
-
问题是 Windows 原生 IPC 方法不支持事件通知,因此无法与反应器集成。
-
@Steve-o:Windows 命名管道支持异步 I/O 并触发对 I/O 完成端口 (IOCP) 的完成通知。它们与前摄器(或反应器)框架很好地集成在一起。 Windows 的 ZeroMQ 实现可能使用 BSD(-ish) 套接字 API 而不是使用 IOCP,这将更好地解释为什么 ZeroMQ 不支持 Windows 上的 IPC 传输。