1
我有一個DEALER套接字渲染到路由器,一旦消息到達,我無法將其解碼爲json,如果我打印接收到的文本並將其複製到python終端,我可以解碼它,但接收代碼是無法。我該如何修復錯誤:沒有JSON對象可以從zmq DEALER解碼到ROUTER消息?
這裏是代碼發送:
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])
IM會見此錯誤的第二部分:
No JSON object could be decoded
什麼會出錯? 如果我使用PUSH和PULL,相同的代碼工作正常。 最終結果我希望它是一個N到1的ZMQ方案,其中多個獨立進程可以發送給一個接收器,這就是爲什麼即時嘗試使用經銷商路由器。
我有同樣的問題,我相信我找到了答案在這裏http://stackoverflow.com/a/34242555/ 202168 – Anentropic