Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python非类型异常ZMQ_Python_Sockets_Zeromq_Nonetype - Fatal编程技术网

Python非类型异常ZMQ

Python非类型异常ZMQ,python,sockets,zeromq,nonetype,Python,Sockets,Zeromq,Nonetype,我正在使用pyzmq在rrbroker.py和reworker.py之间传输消息。由于某种原因,我变得 worker: Users/eric/Documents/Programming/JavaScript/NodeJS/urchin/urchin_worker.py in <module>() 111 while True: 112 try: --> 113 message = socket.recv()

我正在使用pyzmq在rrbroker.py和reworker.py之间传输消息。由于某种原因,我变得

worker:
    Users/eric/Documents/Programming/JavaScript/NodeJS/urchin/urchin_worker.py in <module>()
        111 while True:
        112     try:
    --> 113         message = socket.recv()
        114         message = json.loads(message)#decode into JSON
        115         print message
    Exception TypeError: "'NoneType' object is not callable" in <zmq.core.socket.Socket object at 0x104ffc460> ignored
代理日志:

passing message from frontend to backend
???0{pK???+E?5??
passing message from frontend to backend

passing message from frontend to backend
{'foo':'bar'}//data from client (connected to the broker's router port).
很明显,我的代理一次向worker发送3个请求(这是正常的),但第一个数据包似乎是胡言乱语,第二个数据包似乎是空的,第三个数据包最终包含了我首先要发送的数据


因此,代理发送数据包,但worker.py似乎从未收到数据。

这种“胡言乱语”只是套接字标识——一个随机的bytestring。如果您使用
print repr(message)
而不是
print message
,这将更有意义。几个问题:你能发布完整的代码吗?pyzmq/libzmq的哪个版本,以及什么操作系统?您是如何构建/安装pyzmq的?你的工人正在使用线程吗?
异常…忽略
消息通常在进程关闭期间,当事情得到清理时出现。“胡言乱语”只是套接字标识-一个随机的bytestring。如果您使用
print repr(message)
而不是
print message
,这将更有意义。几个问题:你能发布完整的代码吗?pyzmq/libzmq的哪个版本,以及什么操作系统?您是如何构建/安装pyzmq的?你的工人正在使用线程吗?
Exception…ignored
消息通常出现在进程关闭期间,当事情得到清理时。
passing message from frontend to backend
???0{pK???+E?5??
passing message from frontend to backend

passing message from frontend to backend
{'foo':'bar'}//data from client (connected to the broker's router port).