Python标准库的socket .create_connection() 方法有一个源地址选项,用于控制连接使用哪个源IP。
socket
.create_connection()
给定一台具有多个地址的机器,如何使用Python ZeroMQ套接字执行相同的操作?
在这种情况下,我一直在使用Linux的iproute2 ip addr add创建地址和ZeroMQ PUB/SUB套接字原型。
ip addr add
PUB/SUB
当尝试到 .connect() 远程服务器时,我在协议文档中找到了答案,将源IP放在连接字符串中的分号之前:
.connect()
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')