2013-06-24 45 views
0

在Windows上,我必须在ZeroMQ中构建一个相对简单的拓扑。ZeroMQ PUB/SUB和TCP传输

我有一个从外部接收数据并在ZeroMQ拓扑中引入它们的过程(我们称之为桥接)。我想使用一组发布者(例如ipc:///bridge/entity1,ipc:///bridge/entity2,ipc:///bridge/entity3等),但是afaik,ZeroMQ不支持Windows上的IPC传输(由于此类操作系统中缺少命名管道)。

所以我必须转移到TCP传输,但我不想为每个实体使用一个端口:我想使用类似tcp:///bridge:12345/entity1,tcp:///bridge:12345/entity2等等。

但是AFAIK,this is not possible with ZeroMQ

请你指点我正确的方向?

回答

1

没错,将几个ZeroMQ套接字绑定到单个端口是不可能的。

也许,您的问题可能会通过单个PUB套接字来解决,该套接字将消息发布到不同的主题,以及与zmq_setsockopt(ZMQ_SUBSCRIBE, ...)连接的订阅者。由于ZeroMQ 3.x主题过滤是在PUB端完成的,所以不会有冗余数据传输(相关问题:ZeroMQ filtering at publisher

+0

这就是我一直在寻找的。这种方法是否适用于NetMQ?的确我必须使用.NET。或者你建议clrzmq? –

+0

@Giacomo Tesio:我没有MetMQ的经验,但我相信它会起作用。无论如何,它需要几分钟时间来尝试。 :) – Wildfire