0
メッセージを送信して対話型アプリケーションを作成するために私のアプリケーションにWebソケットを追加しました WebソケットのPOJOオブジェクトで送信する必要があるものの、TextWebSocketHandler
は、私はウェブソケットをテストするときにメッセージを送信するWebSocket is already in CLOSING or CLOSED state.
私はこれが働くことができるかどうかを知る必要があるので、私はあまりWebソケットで知りません! 私は、メッセージのサイズがウェブソケットを止めていると思います。 と、この私のコード春のブートWebSocket jsonのメッセージで動作しないTextWebSocketHandler
@Configuration
@EnableWebSocket
public class WebsocketConfig implements WebSocketConfigurer{
@Bean
public WebSocketHandler myMessageHandler() {
return new MyMessageHandler();
}
@Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
registry.addHandler(myMessageHandler(), "/my-websocket-endpoint");
}
}
public class MyMessageHandler extends TextWebSocketHandler {
@Autowired
UserRepository userRepository;
@Override
public void afterConnectionClosed(WebSocketSession session, CloseStatus status) throws Exception {
// The WebSocket has been closed
}
@Override
public void afterConnectionEstablished(WebSocketSession session) throws Exception {
// The WebSocket has been opened
// I might save this session object so that I can send messages to it outside of this method
// Let's send the first message
Gson gson=new Gson();
session.sendMessage(new TextMessage(gson.toJson(findall())));
}
@Override
protected void handleTextMessage(WebSocketSession session, TextMessage textMessage) throws Exception {
// A message has been received
Gson gson=new Gson();
session.sendMessage(new TextMessage(gson.toJson(findall())));
}
public List<User> findall(){
return userRepository.findAll();
}
}