1

我有一个发送到 ROUTER 的 DEALER 套接字,一旦消息到达,我无法将其解码为 json,如果我打印接收到的文本并将其复制到 python 终端,我可以对其进行解码,但接收代码无法。

这是发送的代码:

self._out_socket = self._out_context.socket(zmq.DEALER)
self._out_socket.connect("ipc://testout")
self._out_socket.send_json(bump)

这是接收它的代码:

ip_soc.socket(zmq.ROUTER)
ip_soc.socket.bind("ipc://testout")
ip_stream = ZMQStream(ip_soc.socket)
ip_stream.on_recv(send_res)
#... ioloop start here to wait

发送此消息时:

{'index': 0, 'image_generated': 'false', 'resdict': [], 'result': [' (\\mathrm{\\%i}1) \x05\x05'], '_id': u'1ceb8c99c1a248a48418a6067b335613', 'purpose': 'result'}

这是我收到的:

['\x00k\x8bEg', '{"index":0,"image_generated":"false","resdict":[],"result":[" (\\\\mathrm{\\\\%i}1) \\u0005\\u0005"],"_id":"1ceb8c99c1a248a48418a6067b335613","purpose":"result"}']

如果我尝试解码它(上面列表的第二部分:)

字典 = json.loads(消息[1])

我遇到了这个错误:

No JSON object could be decoded 

出了什么问题?如果我使用 PUSH 和 PULL,相同的代码可以正常工作。最终结果我想要一个 N 到 1 zmq 方案,其中多个独立进程可以发送到一个接收器,这就是我尝试使用 DEALER-ROUTER 的原因。

4

0 回答 0