1、Message 类,增加 Arraylise<Message>属性,MessageType 类增加离线消息类型
private ArrayList<Message> arrayList;
String MESSAGE_OFFLINE = "10";//离线消息类型
2、发送方用户正常发送消息
3、服务器判断接收方用户是否在线,若接收方不在线,将消息存入离线服务器
i. 先建立离线数据库,并增加将离线消息存入服务器方法 addToDbServer、从离线服务器删除消息方法 deleteDbServerMes、离线服务器将离线消息发往用户方法 sendOfflineMes 和 判断用户当前是否在先方法 isOnline。
public class OfflineMes {
private static ConcurrentHashMap<String, ArrayList<Message>> dbServer = new ConcurrentHashMap<>();
public static ConcurrentHashMap<String, ArrayList<Message>> getDbServer() {
return dbServer;
}
public static void setDbServer(ConcurrentHashMap<String, ArrayList<Message>> dbServer) {
OfflineMes.dbServer = dbServer;
}
//addToDbServer
public static void addToDbServer(St

该博客介绍了如何使用Java处理QQ离线消息。通过在Message类中添加Arraylise属性和离线消息类型,当发送方用户发送消息时,服务器会判断接收方是否在线。如果接收方不在线,消息会被存储到离线数据库中。服务器提供方法来管理离线消息,包括存储、删除和发送。客户端在接收到离线消息类型时,会直接展示这些消息。
最低0.47元/天 解锁文章
2718





