有没有办法实现 ZeroMQ 全双工通道?
Is There any way to achieve a ZeroMQ fullduplex channel?
该项目是通过 ZeroMQ 在 Python 和 C# 程序之间构建消息传递机制。
我希望消息能够随时从两端传送 in/out,这不是基本的请求-回复模型 a.k.a。 REQ/REP
.
我能想到的一种方法是在两个端口上构建一个 PUB/SUB
模型,即两个单向通道。
有什么方法可以得到真正的双工信道吗?
哦,是的,先生!
使用 PAIR-PAIR
甚至 XREQ-XREP
应该可以。
下一步最好是仔细阅读相应的可扩展正式通信模式原型的访问点API文档,以便交叉检查所有预先连接的行为逻辑是否符合您的要求项目需求,瞧,在您的消息传递设置中利用它们并调整设置以满足您的性能和延迟需求。
就是这么简单(感谢隐藏在这些内置函数中的所有真正的专业知识)。
多年来一直在使用 Python + C/MQL4 和其他计算节点之间的这种跨平台集成,非常值得花时间学习 ZeroMQ 的功能和优势。
ZeroMQ 有多种方法可以做到这一点。我建议使用 DEALER/ROUTER 套接字对:
- 选择一个程序作为"server",另一个程序"client"。
- 服务器将在端口上绑定 ROUTER 套接字。
- 客户端将DEALER 套接字连接到服务器的ROUTER 端口。
(注意:这意味着客户端必须提前知道服务器的IP和端口。)
此时客户端可以向服务器发送消息,但是服务器没有办法发送给客户端
- 客户端向服务器发送"HELLO"消息。
服务器将收到一条消息,其中包含客户端地址和 HELLO 消息。现在服务器可以使用客户端的地址向客户端发送消息。
DEALER/ROUTER 在 ZeroMQ 中被认为是一个 "advanced" 套接字对。我这里的描述水平很高。您真的需要阅读 the docs 才能充分利用 ZeroMQ。
该项目是通过 ZeroMQ 在 Python 和 C# 程序之间构建消息传递机制。
我希望消息能够随时从两端传送 in/out,这不是基本的请求-回复模型 a.k.a。 REQ/REP
.
我能想到的一种方法是在两个端口上构建一个 PUB/SUB
模型,即两个单向通道。
有什么方法可以得到真正的双工信道吗?
哦,是的,先生!
使用 PAIR-PAIR
甚至 XREQ-XREP
应该可以。
下一步最好是仔细阅读相应的可扩展正式通信模式原型的访问点API文档,以便交叉检查所有预先连接的行为逻辑是否符合您的要求项目需求,瞧,在您的消息传递设置中利用它们并调整设置以满足您的性能和延迟需求。
就是这么简单(感谢隐藏在这些内置函数中的所有真正的专业知识)。
多年来一直在使用 Python + C/MQL4 和其他计算节点之间的这种跨平台集成,非常值得花时间学习 ZeroMQ 的功能和优势。
ZeroMQ 有多种方法可以做到这一点。我建议使用 DEALER/ROUTER 套接字对:
- 选择一个程序作为"server",另一个程序"client"。
- 服务器将在端口上绑定 ROUTER 套接字。
- 客户端将DEALER 套接字连接到服务器的ROUTER 端口。 (注意:这意味着客户端必须提前知道服务器的IP和端口。)
此时客户端可以向服务器发送消息,但是服务器没有办法发送给客户端
- 客户端向服务器发送"HELLO"消息。
服务器将收到一条消息,其中包含客户端地址和 HELLO 消息。现在服务器可以使用客户端的地址向客户端发送消息。
DEALER/ROUTER 在 ZeroMQ 中被认为是一个 "advanced" 套接字对。我这里的描述水平很高。您真的需要阅读 the docs 才能充分利用 ZeroMQ。