一尘不染

如何在具有多个IP的计算机上控制ZeroMQ数据包的源IP地址?

linux

Python标准库的socket
.create_connection()

方法有一个源地址选项,用于控制连接使用哪个源IP。

给定一台具有多个地址的机器,如何使用Python ZeroMQ套接字执行相同的操作?

在这种情况下,我一直在使用Linux的iproute2 ip addr add创建地址和ZeroMQ PUB/SUB套接字原型。


阅读 457

收藏
2020-06-02

共1个答案

一尘不染

当尝试到 .connect() 远程服务器时,我在协议文档中找到了答案,将源IP放在连接字符串中的分号之前:

rc = zmq_connect(socket, "tcp://192.168.1.17:5555;192.168.1.1:5555")

在Python中,这看起来像:

socket = zmq.Context().socket(zmq.SUB)
socket.connect('tcp://192.168.1.17:5555;192.168.1.1:5555')
2020-06-02