2

选择实现服务器的正确 zeromq 消息模式是什么,它需要处理 N 客户端之间的 2 路通信(客户端可以发出请求,服务器可以发出通知,这必须是可靠的。因此 pub/sub 不起作用这里)?我所做的:服务器有 REP 来处理客户端请求,REQ 来向客户端发出通知,SUB 来获取一些事件。客户端有 REQ 向服务器发出请求,REP 接收来自服务器的通知,SUB 获取一些事件 然后:服务器通过 REP 和 SUB 套接字轮询 POOLIN 客户端通过 REP 和 SUB 套接字轮询 POOLIN

一旦 poll 和 POOLIN,REP 套接字调用 recv,而不是做一些处理,而不是发送。只要 poll & POOLIN,SUB 套接字就会调用 recv。

此架构运行不可靠。如果我在发送数据直到 REQ 套接字得到回复时通过一个 REQ 套接字调用 poll POLLIN,则模式正在工作,但这有点奇怪.. 我错过了什么吗?

4

1 回答 1

1

你真的需要阻塞 REQ/REP 套接字吗?我建议DEALER在客户端上完全异步,检查这个:

https://stackoverflow.com/a/19417116/791406

希望能帮助到你,

于 2013-10-23T13:41:50.187 回答