发布者发送完所有消息后关闭,订阅者端如何获取发布者的所有消息?例如,如果我发布 1000 条数据,订阅者将获得 500 条数据。当发布者发送完 1000 条数据后,它将关闭。订阅者将无法获取 501-1000 之间的数据。
另一个问题是当订阅者加入主题时。它始终从第一条消息而不是现在的消息中获取主题。与ROS/ROS2不同。
我在python版本中测试了ZeroMQ发布订阅模式。以前我用ROS、ROS2、DDS来开发机器人。
您可以尝试使用 XPUB 和 XSUB。这与PUB / SUB完全相同,只不过订阅者必须发送订阅/取消订阅消息,并且XPUBlisher可以接收这些订阅/取消订阅消息。有关详细信息,请参阅API 文档。
这意味着你可以这样做:
XPUB发布者:
X订阅者:
这将导致发布者一直等待,直到所有订阅者都收到已发送的消息,只有当它知道没有订阅者再收听时才退出。非常有用!
虽然发布者在发送所有消息后关闭,如何获取所有消息 来自订阅者端发布者的消息?例如,如果我 发布1000条数据,订阅者获得500条数据。什么时候 发布者发送完1000条数据后,它将关闭。 那么订阅者就无法获取501-1000之间的数据片段。 该现象是由错误的调试日志代码引起的错误。 这个问题毫无意义。请忽略这个问题。 谢谢你的回答,巴扎。我对此感到抱歉。