jeromq(0.3.2) でプッシュ/プル パターンを使用しようとしています。最初は、うまく機能します。しかし、一定期間後。プッシュ側はメッセージを送信せず、そこでブロックされます。どうしてか分かりません。sendTimeout パラメータを設定し、zmq ソケット エラー番号を出力します。35です。何か気づいていないことはありますか?または他の提案?
ありがとう!
プッシュ側のコード:
ZMQ.Context context = ZMQ.context(1);
ZMQ.Socket push4Topic = context.socket(ZMQ.PUSH);
private void init() {
push4Topic.setTCPKeepAlive(1);
push4Topic.setSendTimeOut(30000);
push4Topic.bind(bindUrl);
}
public boolean send(String msg) {
return push4Topic.send(msg);
}
private void destroy() {
if (push4Topic != null) {
push4Topic.close();
}
if (context != null) {
context.term();
}
logger.info("destroy() socket destroied");
}
====
プッシュ側を監視する監視スレッドを 1 つ追加します。すると、ZMQ_EVENT_DISCONNECTED イベントが見つかりました。それはどういう意味ですか?プル側のコードに問題がありますか?