ZeroMQ PubSub转换

时间:2019-05-03 16:45:49

标签: c++ zeromq

我正在尝试将使用DataServices的C ++代码转换为将ZeroMQ PubSub与Google Protobuf库一起使用。

这是我的代码:

void DataServicesListener::serializableListener()
{
    DBG1("Enter");
    DBG1("Received Message from Data Services");
    while( true )
    {
        Message message;
        char msg[1024];
        int rc = zmq_recv( m_subscriber, &msg, 1024, ZMQ_DONTWAIT );
        if( rc != -1 )
        {
            message.ParseFromString( msg );
            // Process the message
        }
    }
}

这是我的问题:

  1. 此功能是否必须在线程内运行?我觉得应该这样,但是我可能错了。
  2. 我必须两次调用zmq_recv()吗?使用发布时,ZMQ发送带有签名“”的信封。 +“ protobuf” +“。”。我是否需要先调用zmq_recv()以获得信封,然后再调用其适当的主题-再次调用它。

0 个答案:

没有答案