0

zmq.jar に何か問題があると思うので、jeroMQ を試してみましたが、同じ問題があります。

これは私の方法です:

private boolean submitEvent(String ioMessage) {
    log.info("SEND");

    ZMQ.Context context = ZMQ.context();

    ZMQ.Socket sender = context.socket(ZMQ.PUSH);

    sender.connect("tcp://localhost:8086");

    sender.send("MESSAGE");

    return true;

}

私はPULLであるPythonにスクリプトを持っています.Pythonでもプッシュスクリプトを試すと、すべてを受け取ります。

だから私の問題はJavaにあります。

ログに最初の行 ("send") が表示されますが、スクリプトで何も受信していません。

何を変更すればよいですか?

4

1 に答える 1

1

JeroMQ Wikiのよくある間違いから

  • すべてのソケットを適切に閉じます。そうしないと、Context.term() 永遠に待機します

したがって、最終的なコードは次のようになります

private boolean submitEvent(String ioMessage) {

    log.info("SEND");

    ZMQ.Context context = ZMQ.context();

    ZMQ.Socket sender = context.socket(ZMQ.PUSH);

    sender.connect("tcp://localhost:8086");

    sender.send("MESSAGE");

    sender.close();

    context.term(); 

    return true;

}
于 2014-04-01T10:52:23.877 に答える