Ich erhalte die folgende Fehlermeldung, wenn ich versuche, das Router Beispiel wiht Python unter Windows (Windows 8):Unterstützt zeromq IPC als Transportkanal unter Windows?
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
So nehme ich an, dass der IPC-Transportkanal für zeromq nicht unter Windows (ab Windows suported ist 8). Ist das wahr?
Das Problem ist, dass Windows native IPC-Methoden keine Ereignisbenachrichtigung unterstützen und daher nicht in einen Reaktor integriert werden können. –
@ Steve-o: Windows Named Pipes unterstützen asynchrone E/A und triggern Beendigungsbenachrichtigungen an I/O Completion Ports (IOCP). Sie lassen sich gut in ein Proactor- (oder Reaktor-) Framework integrieren. Die ZeroMQ-Implementierung für Windows verwendet wahrscheinlich die BSD (-ish) -Socket-API und verwendet keine IOCP, was eine bessere Erklärung dafür wäre, warum ZeroMQ den IPC-Transport unter Windows nicht unterstützt. –