0MQ .NET 支持 UDP

0MQ .NET support for UDP

我需要在我的 .net 应用程序中从 TCP 转移到 UDP 传输。将 udp 传输与 ZeroMQ(.net 绑定)一起使用会抱怨不支持该传输。我知道 Native "NetMQ" 实现显然不支持 UDP,但是 clrzmq4 呢,我知道它是 libzmq 的包装器,也不支持 UDP?我需要使用原始 UDP 套接字吗?

让我们看看 documentationzmq-bind 调用。

支持的传输是:

tcp
ipc
inproc
pgm, epgm
vmci

epgm 是 pgm 而不是 udp

"Encapsulated PGM" or EPGM where PGM datagrams are encapsulated inside UDP datagrams (the epgm transport).

因此,如果您所做的只是 PUB/SUB 并且您可以通过 epgm 进行多播,这是一个选项,否则,似乎取消 ZeroMQ 是您唯一的选择。但是,您也会同时取消它的很多功能。

实际上你也可以使用新的套接字类型 DISH 和 RADIO 做纯 UDP,这类似于 PUB-SUB。

查看使用示例的测试:

https://github.com/zeromq/libzmq/blob/master/tests/test_udp.cpp