1
4

1 回答 1

2

感谢@Mangist指出这一点。

答案在 RouterSocket 文档中:

身份,有时称为地址,只是一个二进制字符串,除了“这是连接的唯一句柄”之外没有任何意义。然后,当您通过 ROUTER 套接字发送消息时,您首先发送一个身份帧。

接收消息时,ZMQ_ROUTER 套接字应在将消息传递给应用程序之前将包含原始对等方身份的消息部分添加到消息中。收到的消息在所有连接的对等点之间公平排队。当发送消息时,ZMQ_ROUTER 套接字应删除消息的第一部分并使用它来确定消息应路由到的对等方的身份。

身份是一个难以理解的概念,但如果您想成为 ZeroMQ 专家,它是必不可少的。ROUTER 套接字为它工作的每个连接发明了一个随机标识。如果有三个 REQ 套接字连接到一个 ROUTER 套接字,它将创造三个随机身份,每个 REQ 套接字一个。

此图说明了 ID 帧的核心概念:

在此处输入图像描述

于 2015-03-05T21:28:29.270 回答