超时(心跳)后Zmq REQ套接字状态

时间:2013-10-02 18:08:06

标签: java timeout zeromq

我基本上是这样做的:

  1. 有一个REQ套接字,连接到REP(心跳)
  2. 如果连接超时(setTimeOut),请增加计数器
  3. 如果计数器大于给定阈值,则将另一侧标记为DOWN(不是心跳)
  4. 如果对方回应,请重置计数器。
  5. 重复
  6. 这有一个问题,当发生超时时,下一个send方法会导致:

    Exception in thread "Thread-1" org.zeromq.ZMQException: Operation cannot be accomplished in current state(0x9523dfb)
    

    我不知道该怎么做,我看到这有点用Poller解决了,但似乎有点矫枉过正。这里最好的方法是什么?重新创建套接字?尝试不同的策略(PUSH-PULL可能?)。

    谢谢。

0 个答案:

没有答案