问题描述
我想在没有 STOMP 的情况下使用 WebSockets 实现一个 Spring Boot 应用程序。该应用程序涉及一个测验游戏,它将包含用于开始新测验的一段 while(true) 代码部分,并且在特定的秒数后,它将向连接的用户发送一个问题。用户将有回答问题的时间限制。随后,服务器将检索下一个问题并将其发送给连接的用户等。当测验结束时,服务器将自动开始新的测验。因此,整个过程从未停止,用户可以随时参加测验。
我已经实现了一个基本功能(请看下面的代码)。但是,我的问题是如何(以及在哪里)添加 while(true) 代码块来实现上述永无止境的功能。
public class MyTextWebSocketHandler extends TextWebSocketHandler {
private final List<WebSocketSession> sessions = new copyOnWriteArrayList<>();
@Override
protected void handleTextMessage(WebSocketSession session,TextMessage message) throws Exception {
sessions.forEach(WebSocketSession ->
{
try {
session.sendMessage(message);
} catch (IOException e) {
e.printstacktrace();
}
});
}
@Override
public void afterConnectionestablished(WebSocketSession session) throws Exception {
sessions.add(session);
super.afterConnectionestablished(session);
}
@Override
public void afterConnectionClosed(WebSocketSession session,CloseStatus status) throws Exception {
sessions.remove(session);
super.afterConnectionClosed(session,status);
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)