C语言 ZMQ:在 AP 之间同步消息



网络中有多个接入点。每当客户端连接到任何一个 AP 时,它们都需要同步客户端数据。

我研究了 REQ/REP、PUB/SUB 和 PUSH/PULL 模式的 ZeroMQ 文档。不太确定哪种模式真正适用于 PUSH/PULL 和 PUB/SUB 之间的上述要求。

在文档中,提到,

一个套接字可能有许多传出连接和许多传入连接。

如何使用上述模式之一实现此目的,以便AP之间的数据始终同步。

需要考虑的要点

  • AP 任意加入网络。
  • 如果客户端连接到 AP,则需要将其数据存储在所有 AP 中。
  • ZeroMQ适用于C语言。

你可以看看 Harmony 对等/对等模式;它在 ZMQ 指南中进行了讨论。然后,接入点可以在每次客户端连接时向其所有对等接入点发送客户端状态消息。没有一个接入点是"主"——它们将是真正的对等方。

或者,您可以将其中一个接入点设置为"主接入点"(绑定的 PULL 套接字(,从属接入点连接到该接入点并通过 PUSH 套接字发送客户端数据。然后,"主"会将该数据发送回PUB套接字上的其他接入点,从属接入点在SUB套接字上接收该数据。这不是一个非常优雅的解决方案,主站必须处理整个网络的客户端数据流量,但它可能更容易使用。

最新更新