Python ZeroMQ:在 ROUTER 和 REP 配置中将两个不同的客户端连接在一起
Python ZeroMQ : connecting two different clients together in a ROUTER and a REP configuration
我的配置如下 server/clients :
- 一台服务器有两个绑定套接字,一个
REP
和一个ROUTER
- 一个客户端(我们称它为 worker)与
ROUTER
套接字保持连接
- 连接到
REP
套接字的另一个(真实的)客户端。
我希望服务器能够告诉真正的客户端连接(直接或通过服务器以某种方式)到在 worker 上打开的 websocket 客户。但似乎,我无法从 ZeroMQ 套接字中检索工作人员的 IP 地址。
如果没有一些肮脏的 IP 地址检索技巧,我怎么能做到这一点?
如果没有一些肮脏的 IP-address 检索技巧,我怎么能做到这一点?
最好是在 server
和worker
将在其设置/初始化时发生,其中 worker 在被要求提供此类答案后,将这些配置详细信息告知服务器。
鉴于此,“new”-real-client .connect()
-s 是 REQ
到服务器的REP
,并询问服务器下一步去哪里,服务器可以回答这个和"new"-real-client 将通过这种方式收到合法的 IP-address:port# 以及任何其他 TCP/IP-L3 服务建立和使用所需的任何额外详细信息。
就这么简单:o) distributed-system
Design-side结语:
因为还有一些更进一步的,design-side含义,硬连线在每种类型的 ZeroMQ 套接字的内部 Access-Point,可能会发现更适合在服务器端提供单独的 REP
-AccessPoint,以便不要让每个“new”-real-client 变得依赖于服务器和 "new"-[ 这样的控制域之外的事件的存在=68=],而是允许这两个 REQ/REP
-endpoints 享受任何东西的独立性,除了他们暂时的(半)私人细节(重新)协商(s ).
我的配置如下 server/clients :
- 一台服务器有两个绑定套接字,一个
REP
和一个ROUTER
- 一个客户端(我们称它为 worker)与
ROUTER
套接字保持连接 - 连接到
REP
套接字的另一个(真实的)客户端。
我希望服务器能够告诉真正的客户端连接(直接或通过服务器以某种方式)到在 worker 上打开的 websocket 客户。但似乎,我无法从 ZeroMQ 套接字中检索工作人员的 IP 地址。
如果没有一些肮脏的 IP 地址检索技巧,我怎么能做到这一点?
如果没有一些肮脏的 IP-address 检索技巧,我怎么能做到这一点?
最好是在 server
和worker
将在其设置/初始化时发生,其中 worker 在被要求提供此类答案后,将这些配置详细信息告知服务器。
鉴于此,“new”-real-client .connect()
-s 是 REQ
到服务器的REP
,并询问服务器下一步去哪里,服务器可以回答这个和"new"-real-client 将通过这种方式收到合法的 IP-address:port# 以及任何其他 TCP/IP-L3 服务建立和使用所需的任何额外详细信息。
就这么简单:o) distributed-system
Design-side结语:
因为还有一些更进一步的,design-side含义,硬连线在每种类型的 ZeroMQ 套接字的内部 Access-Point,可能会发现更适合在服务器端提供单独的 REP
-AccessPoint,以便不要让每个“new”-real-client 变得依赖于服务器和 "new"-[ 这样的控制域之外的事件的存在=68=],而是允许这两个 REQ/REP
-endpoints 享受任何东西的独立性,除了他们暂时的(半)私人细节(重新)协商(s ).