【发布时间】:2015-01-31 13:21:17
【问题描述】:
我有一个程序,客户端有一个 ZMQ_SUB 套接字,服务器端有一个 ZMQ_PUB 套接字,客户端订阅服务器:
非常简单的代码:
客户端:
zmq::socket_t subscriber(context, ZMQ_SUB);
subscriber.connect("tcp://xxx:xxx");
subscriber.setsockopt(ZMQ_SUBSCRIBE, "", 0);
服务器端:
zmq::socket_t publisher(zmqContext, ZMQ_PUB);
publisher->bind("tcp://*.xxx");
我在客户端和服务器之间使用另一对 ZMQ_REQ、ZMQ_REP 套接字。每次客户端通过ZMQ_REQ套接字向服务端发送一些请求,服务端通过ZMQ_REP套接字接收,做一些工作,通过REP套接字响应,同时生成一堆消息,通过ZMQ_PUB发布插座。
大多数时候,客户端能够从 ZMQ_SUB 套接字接收消息,但我确实有客户端没有接收到这些消息的情况。
消息保证在服务器端生成,并在生成时立即发布。
正常吗?或者我的使用/设置有什么问题,导致这种不确定的行为。 (客户端SUB套接字有时不接收消息)
【问题讨论】:
-
您可能想阅读 whathaveyoutried.com 并表达对 StackOverflow 社区的尊重,该社区强烈鼓励发布高质量的问题以及 MCVE (a Minimum-Complete-Verifiable-Example of code ) 显示到目前为止您已经尝试过的内容。 您可能想要更新您的帖子,以达到最低合理的质量水平并表明您尊重的意愿其他 StackOverflow 贡献成员。他们是喜欢回答有关 MCVE 相关问题的好问题的专业人士。 享受成为 StackOverflow 贡献成员并支持此社区礼节
标签: c++ network-programming zeromq publish-subscribe