Je reçois un statut 200 lors de la connexion à la socket Web, mais c'est une erreur?

Mon erreur s'affiche dans la console de mon navigateur:

"WebSocket connection to 'ws://localhost:32768/DspClusterWebServices/myHandler' failed: Unexpected response code: 200"

J'utilise Spring Websockets 4.1.5 et Tomcat 8.0.18 . Ma classe d'implémentation WebSocketConfigurer ressemble à:

 @Configuration @Controller @EnableWebSocket public class WebSocketConfig implements WebSocketConfigurer { class MyHandler implements WebSocketHandler { @Override public void afterConnectionEstablished(WebSocketSession session) throws Exception { System.out.println("afterConntectionEstablished called"); } ...implements rest of functions with a System.out.println and false for supportsPartialMessages() } } @Override registerWebSocketHandlers(WebSocketHandlerRegistry registry) { registry.addHandler(myHandler(), "myHandler").withSockJS(); } @Bean public WebSocketHandler myHandler() { return new MyHandler(); } } 

Mon testWebsocketClient.js tente de se connecter à ce code, mais a un code d'erreur de 200:

 websocket = new WebSocket("ws://localhost:8080/myApp/myHandler"); 

Je ne peux pas comprendre ce qu'il faut essayer ensuite. Je pensais que cela provoquerait la suppression de la méthode afterConnectionEstablished (session WebSocketSession) Le code 200 n'est-il pas bon?

Veuillez vérifier http://procbits.com/connecting-to-a-sockjs-server-from-native-html5-websocket !

Après avoir ajouté /websocket (à votre URL), il vous donnera l'erreur

Impossible d'analyser la valeur d'en-tête d'origine [null]

;), Qui vous conduira ensuite à ce lien .

Vous devrez ajouter .setAllowedOrigins("*") à votre méthode addHandler() , puis cela pourrait enfin fonctionner!

Jetez un oeil à la spécification . Le serveur doit répondre avec 101 pour signaler le changement de protocole de http à ws .

Vérifiez que si 'ws: // localhost: 32768 / DspClusterWebServices / myHandler' est correct.