我正在构建一个分布式系统,我希望从高水位标记后的两端进行异步发送和接收。
PUSH / PULL套接字效果很好,但是我无法绑定PUSH套接字。这意味着,如果客户端位于防火墙后面,则由于服务器无法连接至客户端,因此我无法将客户端推至服务器-PULL,将服务器推至客户端-PULL。
在书中,写了以下内容,但我找不到它的示例。 “对DEALER的REQ:理论上您可以做到这一点,但是如果添加第二个REQ,它会中断,因为DEALER无法将回复发送给原始对等方。因此REQ套接字会变得混乱,和/或返回消息意味着给另一个客户。” http://zguide.zeromq.org/php:chapter3
我只需要一对一的连接,因此从理论上讲,这对我来说是有效的。
我的问题是,用ZeroMQ获得异步发送和接收而不丢失数据包的最佳实践是什么?
答案 0 :(得分:0)
大多数ZeroMQ套接字既可以绑定(充当服务器,在特定端口上监听),也可以绑定(充当客户端)。它通常与数据流无关。有关更多信息,请参见the guide。
尝试在服务器的PUSH套接字上进行绑定,并从客户端的PULL套接字进行连接。