C# 用于1到N的ZeroMQ模式,在客户端上重试,并为服务器连接知识

C# 用于1到N的ZeroMQ模式,在客户端上重试,并为服务器连接知识,c#,zeromq,C#,Zeromq,我一直在读ZGuide关于所有可能的模式。我试图将其转换为一个C#GUI环境,在这个环境中,服务器和客户机需要位于GUI和主业务规则的独立线程中 我发现懒惰海盗的例子非常有用,但是我并不完全理解ZMQ的一般模式,它可以满足以下需求 客户 向服务器发送带有确认信息的消息 从服务器获取有关业务状态的消息 具有重试逻辑和故障逻辑,用于警告最终用户服务器“断开连接”或“故障” 服务器 接收客户端消息和带有确认的响应 根据内部状态发送额外消息 对客户端上重试逻辑的响应(可能是保持活动状态消息) 根

我一直在读ZGuide关于所有可能的模式。我试图将其转换为一个C#GUI环境,在这个环境中,服务器和客户机需要位于GUI和主业务规则的独立线程中

我发现懒惰海盗的例子非常有用,但是我并不完全理解ZMQ的一般模式,它可以满足以下需求

  • 客户

    • 向服务器发送带有确认信息的消息
    • 从服务器获取有关业务状态的消息
    • 具有重试逻辑和故障逻辑,用于警告最终用户服务器“断开连接”或“故障”
  • 服务器

    • 接收客户端消息和带有确认的响应
    • 根据内部状态发送额外消息
    • 对客户端上重试逻辑的响应(可能是保持活动状态消息)
    • 根据接收到的保持活动消息,具有已知“已连接”客户端的列表
目前,我对应该连接到其他插座感到困惑。然后在线程边界中添加我必须保留的内容

我目前的情况如下:

|客户端-重试-请求|->代表-保留-服务器|


我在示例中看到的是,服务器无法将消息定向到已连接的客户端。存储所有已连接客户端的地址并允许从服务器发送到这些特定客户端有什么诀窍吗?

是的,您可以存储所有已知客户端的地址(标识),并将心跳从服务器发送到这些客户端中的每一个。在服务器中使用路由器。再次阅读第3章和第4章,直到它们变得更有意义。

是的,您可以存储所有已知客户端的地址(身份),并将心跳从服务器发送到每个客户端。在服务器中使用路由器。再次阅读第3章和第4章,直到它们变得更有意义。

现在已经重新阅读了几次指南(发行前的电子书也很棒,谢谢)。有没有一种方法可以使用“Smarts”ZeroMQ来消除在内部处理已连接套接字列表的需要?从我的阅读中,我看不出有什么办法可以做到这一点。如果我又错过了一节,请道歉。现在我已经重新阅读了几遍指南(预发行电子书也很棒,谢谢)。有没有一种方法可以使用“Smarts”ZeroMQ来消除在内部处理已连接套接字列表的需要?从我的阅读中,我看不出有什么办法可以做到这一点。如果我又错过了某个部分,请道歉。