场景如下:
- 2 个 ZMQ_ROUTER 套接字,A 和 B;
- A 绑定到一个地址并被分配一个身份;
- B 绑定到一个地址,分配了一个身份,并且还连接到 A;
- 他们聊了一会儿,一切都好;
- 我故意关闭B插座;
- B 套接字使用所有相同的参数重新打开、反弹和重新连接,分配与以前相同的标识;
- B 向 A 发送消息;
- A 没有看到该消息。但是,我注意到 B 在 tcpdump 输出中的消息(tcpdump 正在监视 A 端口上的所有流量)。
这让我相信 zmq 出于某种原因丢弃了 B 的第二条消息。谁能解释这里发生了什么?