我想知道是否有任何方法从一个客户端获取消息到另一个客户端,以及接收客户端是否没有连接到服务器,但在一段时间后连接,该客户端应该会收到这些消息。
假设客户端A和客户端B:
所有事情都应该用Java使用套接字来完成。
是否有任何机制来存储这些脱机消息,然后在客户端连接到服务器时立即将它们发送给客户端?
发布于 2017-10-24 13:35:10
您可以使用不同类型的存储-数据库,在内存,一些云存储,纯文本文件或其他什么。因此,例如,如果您将所有消息存储在内存中(使其更简单),并且对每条消息以及发送方和接收方都有一个递增的ID (我想您可以以不同的方式这样做,但我只是给出一个建议)。
因此,当一个新客户端连接到服务器并进行身份验证时(为了确保客户端B加入聊天,它与以前的客户端B相同),客户端可以“告诉”服务器最后收到的消息ID。然后服务器可以将丢失的消息推送给客户端。当然,这在很大程度上取决于您的模型和您到底想要实现什么。在内存存储中,消息可能不是最好的,您可以使用数据库或其他什么-取决于您的需要。
https://stackoverflow.com/questions/46911564
复制相似问题