2

私は zeromq の初心者です。最近、zeromq の pub/sub でいくつかのテストを行いましたが、ZeroMQ で XPUB と XSUB を使用してプロキシを使用して Pub-Sub ネットワークを実装する方法がわかりません。よろしくお願いします。

4

2 に答える 2

2

を通して基本を学びます。プロキシの場合は、これを使用してください。これはmsgqueue.cppからのものです。

int main (int argc, char *argv[])
{
    zmq::context_t context(1);
    zmq::socket_t frontend (context, ZMQ_XSUB);
    frontend.bind("tcp://*:5559");
    zmq::socket_t backend (context, ZMQ_XPUB);
    zmq_bind (backend, "tcp://*:5560");
    zmq_proxy (frontend, backend, NULL);
    return 0;
}
于 2013-09-02T14:12:35.947 に答える
-1

プロキシー:

int main (int argc, char *argv[])
{
zmq::context_t context(1);
zmq::socket_t frontend (context, ZMQ_XSUB);
....//set hwm
frontend.bind("tcp://*:5559");
zmq::socket_t backend (context, ZMQ_XPUB);
....//set hwm
zmq_bind (backend, "tcp://*:5560");
zmq_proxy (frontend, backend, NULL);
return 0;
}

メッセージを失った理由は、バインドまたは接続する前に setsockopt を呼び出す必要があったためです。

setsockopt については、0MQ API ドキュメントを参照してください。

注意: ZMQ_SUBSCRIBE、ZMQ_UNSUBSCRIBE、および ZMQ_LINGER を除くすべてのオプションは、後続のソケットのバインド/接続に対してのみ有効です。

于 2013-09-13T07:07:07.733 に答える