使用Python的ZMQ通过套接字发送整数列表时出现奇怪错误

1 投票
1 回答
731 浏览
提问于 2025-04-17 04:27

我正在用Python和zmq库进行数据传输,采用的是请求-响应(REQ-REP)模式。目前我使用send_json这个方法来发送数据。但是奇怪的是,有些例子可以正常工作,而有些却不行。

当出现错误时,会显示以下错误信息和异常:

文件 "socket.pyx",第723行,在 zmq.core.socket.Socket.send_json (zmq/core/socket.c:6062) 文件 "socket.pyx",第504行,在 zmq.core.socket.Socket.send (zmq/core/socket.c:4307) 文件 "socket.pyx",第148行,在 zmq.core.socket._send_copy (zmq/core/socket.c:1752) ZMQError: 当前状态无法完成操作

起初我以为这和发送数据的长度有关,但后来我发现有些例子即使发送大块数据也能正常工作。

有没有什么线索或者我应该注意的地方?

谢谢

1 个回答

1

REQ-REP套接字有一个严格的发送/接收循环(或者反过来)。

通常,这种情况发生在你试图在收到回复之前就发送请求,或者类似的情况。

撰写回答