我一直在阅读有关所有可用模式的 ZGuide。我正在尝试将其转换为 C# GUI 环境,其中服务器和客户端需要位于与 GUI 和主要业务规则不同的线程中。
我发现懒惰的海盗示例非常有用,但是我不完全理解适合以下需求的 ZMQ 的一般模式。
客户
- 向服务器发送带有确认的消息
- 从服务器获取有关业务状态的消息
- 具有重试逻辑和失败逻辑,以警告最终用户服务器“断开连接”或“失败”
服务器
- 接收客户端消息和响应并确认
- 根据内部状态发送额外消息
- 对客户端重试逻辑的响应(可能是保持活动消息)
- 具有基于接收到的保持活动消息的已知“已连接”客户端列表
目前,我对应该连接到其他人的套接字感到困惑。然后添加到这个我必须在线程边界中保留的内容。
我现在的位置如下;
|客户端 - 重试 - 请求| -> |REP - KeepAlive - 服务器|
我在示例中看到的是服务器无法将消息定向到已连接的客户端。存储所有连接客户端的地址并允许从服务器发送到这些特定客户端是否有技巧?