繁体   English   中英

客户端重新连接到服务器后,从服务器向客户端发送Java消息

[英]Java-messages to client from server after client reconnects to server

我想知道是否有任何方法可以将消息从一个客户端发送到另一个客户端,并且如果接收客户端没有连接到服务器,但是在一段时间后连接,则该客户端应该接收那些消息。

假设客户端A和客户端B:

  1. 客户端A向客户端B发送消息,但客户端B处于脱机状态
  2. 客户端消息必须以某种形式(我想知道)存储在服务器上
  3. 当客户端B连接到服务器时,它应接收脱机时发送给该客户端的所有消息。

一切都应使用套接字在Java中完成。

是否有任何机制可以存储这些脱机消息,然后在它们连接到服务器后立即将其发送到客户端?

您可以使用不同类型的存储-数据库,内存,一些云存储,纯文本文件或其他。 因此,例如,如果您将所有消息都存储在内存中(以使其更简单),并且每个消息都有一个递增的ID,并且发送方和接收方都有(我想您可以用不同的方式来做,但我只是给出一个建议)。

因此,当新的客户端连接到服务器并进行身份验证(以确保客户端B是否加入聊天之前,它与以前的客户端B相同)时,客户端可以“告诉”服务器最后收到的消息ID。 然后服务器可以将丢失的消息推送到客户端。 当然,这很大程度上取决于您的模型以及您要实现的目标。 可能在消息的内存存储中可能不是您可以使用数据库或其他功能的最佳方式-取决于您的需求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM