有没有办法实现ZeroMQ fullduplex通道?

时间:2017-06-19 05:58:34

标签: c# python zeromq

该项目是通过ZeroMQ在Python和C#程序之间构建消息传递机制。

我希望邮件能够随时从两端进出,这不是基本的请求 - 回复模式a.k.a. REQ/REP
我能想到的一种方法是在两个端口上建立一个 PUB/SUB 模型,即两个单向通道。
有没有办法获得真正的双工通道?

2 个答案:

答案 0 :(得分:0)

哦,是的,先生!

使用 PAIR-PAIR ,甚至 XREQ-XREP 也应该这样做。

最好的下一步是仔细阅读相应的可扩展形式通信模式原型的访问点API文档,以便交叉检查所有预先布线的行为逻辑是否符合您的项目需求和vo它们在您的消息设置中并调整设置,以满足您的性能和延迟需求。

就是这么简单(感谢隐藏在这些内置组件中的所有真正的专业知识)。

使用Python + C / MQL4和其他计算节点之间的这种非常类型的平台间集成,非常值得花时间了解ZeroMQ的功能和优势。

答案 1 :(得分:0)

使用ZeroMQ有几种方法可以做到这一点。我建议使用DEALER / ROUTER套接字对:

  • 选择一个程序作为"服务器",另一个选择"客户"。
  • 服务器将在端口上绑定ROUTER套接字。
  • 客户端将DEALER套接字连接到服务器的ROUTER端口。 (注意:这意味着客户端必须事先知道服务器的IP和端口。)

此时客户端可以向服务器发送消息,但服务器无法发送给客户端。

  • 客户发送" HELLO"消息到服务器。

服务器将收到包含客户端地址和HELLO消息的消息。现在,服务器可以使用客户端的地址向客户端发送消息。

经销商/路由人被视为"高级" ZeroMQ中的套接字对。我在这里的描述非常高。您真的需要阅读the docs以充分利用ZeroMQ。