通过路由器套接字发送字符串时,我在 Zeromq python 上遇到错误。字符串类型消息已成功接收,但有时,unicode消息会抛出异常 "Type Error: unicode not allowed. use send_unicode".
虽然我一直在尝试使用 msg.encode('utf-8' )。但我想不出办法克服它。
我使用的是 python 2.7.3。我没有使用 pyzmq (仅导入 zmq)。期待您的建议:) 谢谢
如果后端位于套接字中:
request=backend.recv_multipart()
#print ("Backend Thread is ready")
worker_id,client_id = request[:2]
if client_id != b"READY" and len(request) > 3:
#print (len(request))
empty2,reply = request[2:]
router_socket.send_multipart([client_id, reply.encode('utf-8')])
最佳答案
我遇到了同样的错误。我的错误代码是:
socket.send("服务器向client3发送消息")
您必须将消息转换为字节才能解决该问题。为此,只需添加 b
,如下所示:
socket.send(b"服务器消息到client3")
关于python - Zeromq:不允许使用 unicode,请使用 send_unicode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29009583/