在同一个套接字上连接和绑定

Connect and Bind on same socket

我有一组分散方式的节点运行。目前我正在使用一个经销商插座来接收输入,一个用于输出到其他节点。

接受输入的一个绑定到端口,另一个连接到其余部分。

我想知道是否可以将两者合二为一,绑定到端口并连接到所有其他端口:

socket = ...
socket.bind("tcp://*:5000")
for addr in other_endpoints:
  socket.connect(addr)

我预计这不可能,但如果是的话,我会很高兴。

是的,可以在单个套接字上绑定和连接。我有生产系统 运行,其中单个套接字通过 IPC 绑定并通过 PGM 连接。 zeromq 模式不关心底层连接是如何(方向等)建立的。