我有一个由Boost asio在C ++中实现的客户端/服务器系统,客户端将请求发送到服务器。然后,服务器将该客户端注册到活动客户端列表中,并继续通过UDP协议向其发送数据。但是,服务器应跟踪处于活动状态的客户端,并停止将数据发送到断开连接或已死的客户端。
我想知道如何在这里实现UDP会话/套接字管理,因为UDP是无连接协议,并且无法向我们提供有关活动客户端的任何信息。我应该在C ++中使用另一个库来进行UDP会话管理吗?或者我应该在应用程序层中使用其他协议进行UDP会话管理。
我知道Java中有一个名为Verax IPMI https://en.wikipedia.org/wiki/Verax_IPMI的库,它提供了此功能。但是,在C ++中呢?
感谢您阅读我的问题。
只需保留您最近见过的端点列表(这意味着它们向您发送了数据报)。通常,在从列表中删除客户端之前,您需要等待一段时间(例如30秒)。
这样,如果丢弃了一些数据报,您不会立即忘记“连接”。