当前位置: 首页 > 面试题库 >

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

杜河
2023-03-14
问题内容

Python标准库的socket
.create_connection()

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

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

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


问题答案:

当尝试到 .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')


 类似资料:
  • Python标准库的< code >套接字方法有一个源地址选项,用于控制连接使用哪个源IP。 给定一台有多个地址的机器,我如何使用Python ZeroMQ套接字做同样的事情? 在这种情况下,我一直在使用Linux的iproute2 ip addr 地址和ZeroMQ 套接字原型。

  • 问题内容: 我已经下载了ip-to-country.csv,它具有映射到国家的ip范围。如何将这些数据存储到数据库中,如何查询IP地址的范围以了解IP地址从何而来? 问题答案: 我编写了一个名为ip2c的小程序库来完成此操作。它使用webhosting.info中的数据库,但也支持Software77中的数据库。 它将CSV信息转换为紧凑的二进制格式,并且可以直接在文件,内存或内存映射文件中进行搜

  • 我的计算机上运行着Laravel Homestead,项目在本地运行,在我的web浏览器中使用“localhost:8000”。现在我想使用计算机的IP地址运行项目,但在完成此任务时遇到问题。我尝试过几种不同的方法,比如使用XAMPP,但我在使用它时也遇到了困难。 以下是我已经安装并正在运行的应用程序: 使用VirtualBox,流浪者和作曲家的Laravel Homestad。 我使用cmd启动

  • 我正在nasm中编写UDP套接字,并使用recvfrom系统调用从客户端接收UDP数据包。 我可以成功地发送消息,但我想向客户端发送回复。问题是我无法提取数据包的源IP地址,因此无法使用sendto系统调用。 这是UDP服务器的代码: network.inc我有: 作为UDP客户端,我使用netcat命令:netcat-u127.0。零点一四零九六

  • 地址分类 A类:8位网络号,0_ _ _ _ _ _ _,1.0.0.0 ~ 126.0.0.0 B类:16位网络号,10 _ _ ...,128.0.0.0 ~ 191.255.255.255 C类:24位网络号,110_ _ _...,192.0.0.0 ~ 223.255.255.255 D类:多播地址,1110_ _ _... E类:保留地址,1111_ _ _ ... 私有地址 A类:1

  • 问题内容: 我正在尝试开发一个系统,其中有不同的节点在不同的系统或同一系统的不同端口上运行。 现在,所有节点都使用目标IP创建一个套接字,该目标IP是称为自举节点的特殊节点的IP。然后,节点创建自己的节点并开始侦听连接。 引导节点维护节点列表,并在查询时返回它们。 现在,我需要的是该节点必须将其IP注册到引导节点。一旦客户端连接到节点,我就尝试使用该方法,但这没有用。 我需要客户端注册其PPP I