4

我正在使用 zeromq 开发一个动态应用程序,其运行方式类似于 upnp 协议(客厅设备的自动配置和自动发现)。为此,我使用 zeromq 分发消息,我的问题是,当我创建套接字并绑定到地址"169.254.1.0 到 169.254.254.255"时,我收到如下错误消息:ZMQError: Cannot assign requested address .

我试图通过通过本地地址(127.0.0.1)更改地址来找出原因,它的工作原理!问题是我正在实现 autoip,这意味着我必须使用 169.254.1.0 到 169.254.254.255 范围内的地址。

在此先感谢您的帮助!

4

2 回答 2

3

启动接口后,您需要获取其 IP 地址,然后对其进行绑定。或者,您可以绑定“*”,即所有接口。

于 2012-12-07T21:54:21.310 回答
2

我也遇到了这个错误……我意识到我对 PUB/SUB 模型中谁与谁连接有错误的想法。

这是可行的:主机 A 作为 ZMQ PUB,并且可以轻松地与主机 A 作为 ZMQ SUB 连接。

然后我尝试将主机 B 设置为 SUB,并让主机 A “发送”到那个……我一直收到这个错误。毕竟你不需要告诉PUB将数据发送到哪里吗?

不!作为 PUB 的主机 A 仍应绑定到 IP_ANY (0.0.0.0);主机 B 作为 SUB 必须配置主机 A 的地址。

一旦我在我的代码(和我的头脑中)中得到了这一点,我就开始运行了。

于 2017-04-14T20:57:53.067 回答