有没有办法检查JZMQ(zmq的java绑定)套接字是否已连接?
ZContext zmqContext = new ZContext();
ZMQ.Socket workerSocket = zmqContext.createSocket(ZMQ.DEALER);
workerSocket.setIdentity("ID".getBytes());
workerSocket.connect("tcp://localhost:5556");
在上面的代码之后,我想检查workerSocket是否已连接。检查连接状态会很好。
答案 0 :(得分:10)
不,API中没有方法可以检查套接字是否已连接。
ZeroMq抽象网络;客户端和服务器连接对进行连接的对等方完全透明。客户端或服务器可以向不存在的对等体发送消息;不会产生任何错误;相反,它们将基于HWM配置在套接字缓冲区中排队。
要检查对等可用性,请使用具有超时因子的同步请求/回复心跳手动执行此操作;这是一个例子,希望它有所帮助!
在这里查看样品的请求/回复! https://github.com/imatix/zguide/tree/master/examples/