我正在使用WebSockets开发一个简单的应用程序。 客户端可以发送输入文本,而服务器端则通过注释为ServerEndpoint的Java类实现。这里接收的输入文本被解码并发送到所有打开的会话。
这样可行,但是我希望存储服务器收到的每条消息,以便在新客户端连接时(使用@OnOpen注释的方法)它接收在“离线”时发送的所有消息。我可以在哪里存储此消息而不使用数据库?
答案 0 :(得分:1)
使用Singleton模式解决它。我创建了一个存储List的Singleton类,它在onMessage方法中得到更新。然后,在onOpen中,存储的消息将被发送到刚刚打开与套接字的连接的客户端。