为什么在第二次呼叫中ØMQ发送失败?

时间:2019-11-17 00:23:42

标签: java

我正在使用ØMQJava客户端库:https://github.com/zeromq/jeromq 我编写了一个简单的测试类,尝试发送两条消息:

ZContext context = new ZContext();
ZMQ.Socket socket = context.createSocket(SocketType.REQ);
socket.connect("tcp://localhost:5555");

socket.send("Message 1".getBytes(ZMQ.CHARSET), 0);
System.out.println("Message 1 sent");
socket.send("Message 2".getBytes(ZMQ.CHARSET), 0);
System.out.println("Message 2 sent");

运行它时,我得到以下信息:

Message 1 sent
Exception in thread "main" org.zeromq.ZMQException: Errno 156384763 : Operation cannot be accomplished in current state
    at org.zeromq.ZMQ$Socket.mayRaise(ZMQ.java:3533)
    at org.zeromq.ZMQ$Socket.send(ZMQ.java:3196)

有什么想法导致发送第二条消息时触发错误吗?

谢谢

1 个答案:

答案 0 :(得分:0)

好。

事实证明,在接收者响应该消息之前,发送者无法继续发送下一条消息...