Python.exe在使用zmq时已停止工作

时间:2017-04-19 13:26:02

标签: python pyzmq

我正在运行以下代码,并以下面的消息终止。请参阅屏幕截图。

import zmq

context = zmq.Context()
socket = context.socket(zmq.SUB) 
socket.connect('tcp://0.0.0.0:5555')

zmq是ØMQ的Python绑定。 Python.exe的链接已停止工作,但解决方案似乎是特定于问题的。请建议前进的方向。提前谢谢。

Error screen shot

1 个答案:

答案 0 :(得分:0)

在支持群集的客户端中使用ZeroMQ需要更多关注:

无论是iPython,Jupyter还是Spyder,这些python WYSIWYG-或IDE-frontends都在内部使用ZeroMQ,而且非常密切地在“终端”或“笔记本”中的GUI与后端python之间进行通信。引擎(一个或多个)。

因此需要双重护理。每个端口映射都更加精细。

正如人们可能会读到的那样,O / S报告问题出现在后端引擎上,这种问题很疯狂,而不是在GUI前端。

无论如何,不​​要使用像 tcp://0.0.0.0:<port#> tcp://*:<port#>

这样令人困惑的构造函数
  

文档明确建议另一种方法如何安全地 .connect() 到localhost(当然,该端口仍然可以免费使用iPython / Jupyter / Spyder):

>>> print zmq.Socket.connect.__doc__

s.connect(addr)

        Connect to a remote 0MQ socket.

        Parameters
        ----------
        addr : str
            The address string. This has the form 'protocol://interface:port',
            for example 'tcp://127.0.0.1:5555'. Protocols supported are
            tcp, upd, pgm, inproc and ipc. If the address is unicode, it is
            encoded to utf-8 first.

>>>