【问题标题】:Why ZeroMQ C# PUB/SUB throws an EINVAL warning on pgm-protocol?为什么 ZeroMQ C# PUB/SUB 在 pgm-protocol 上抛出 EINVAL 警告?
【发布时间】:2017-07-11 05:42:41
【问题描述】:
我是 ZeroMQ 的新手,我的 Window C# 应用程序将通过 (tcp://localhost:5563) 发布数据,如果我将其更改为 (pgm://localhost;233.255.0.1:5555),则会引发错误:
EINVAL(22):无效参数
警告:接口 {xxx-xxx-xxx..-xxx} 报告为环回设备。
谁能给点提示?
【问题讨论】:
标签:
c#
zeromq
publish-subscribe
pgm-protocol
【解决方案1】:
ZeroMQ API 文档中建议使用epgm://<IPv4_ADDR>;<mcast_ADDR>:<port#>。
ZeroMQ API 文档备注都很重要:
连接插座
当使用带有 pgm 或 的 zmq_connect() 将套接字连接到对等地址时epgm 传输,endpoint 应被解释为一个 interface,后跟一个分号,后跟 多播地址,后跟冒号和端口号。
可以通过以下任一方式指定接口:
- 操作系统定义的接口名称。
- 分配给接口的主要 IPv4 地址,以数字表示。
接口名称未以任何方式标准化,应假定为任意且与平台相关。在 Win32 平台上不存在短接口名称,因此只能使用主要 IPv4 地址来指定接口。界面部分可以省略,这样会选择默认的。
多播地址由 IPv4 多播地址以数字表示形式指定。