Ich erhalte einen Status 200 beim Verbinden mit dem Websocket, aber es ist ein Fehler?
Meine Fehler zeigt sich in der Konsole von meinem browser:
"WebSocket connection to 'ws://localhost:32768/DspClusterWebServices/myHandler' failed: Unexpected response code: 200"
Ich bin mit Spring Websockets 4.1.5
und Tomcat 8.0.18
. Meine WebSocketConfigurer implementation der Klasse sieht so aus:
@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();
}
}
Meine testWebsocketClient.js versucht, eine Verbindung mit diesem code, aber hat eine Fehler-code-200:
websocket = new WebSocket("ws://localhost:8080/myApp/myHandler");
Ich kann nicht herausfinden, was als Nächstes versuchen. Ich dachte, dass dies würde dazu führen, die afterConnectionEstablished(WebSocketSession Sitzung) - Methode, um Feuer? Ist nicht code 200 gut?
InformationsquelleAutor der Frage smuggledPancakes | 2015-04-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bitte überprüfen Sie http://procbits.com/connecting-to-a-sockjs-server-from-native-html5-websocket!
Nachdem Sie Anhängen
/websocket
(URL), es wird Ihnen der Fehler😉
die dann wiederum führen Sie zu link.
Müssen Sie
.setAllowedOrigins("*")
zu IhremaddHandler()
Methode, und dann konnte er endlich Arbeit!InformationsquelleAutor der Antwort xerx593
Haben Sie einen Blick auf die Spezifikation . Sollte der server reagieren mit
101
signal-Protokoll ändern vonhttp
zuws
.InformationsquelleAutor der Antwort Hannes
Bitte überprüfen Sie, dass, wenn 'ws://localhost:32768/DspClusterWebServices/myHandler" ist korrekt.
InformationsquelleAutor der Antwort Yang Peiyong
Für die Jungs wie mich, die verwenden, eckig + springboot und habe diesen Fehler. bitte prüfen Sie, ob Sie aktiviert haben die umleiten oder weiterleiten, alle nicht-api-Endpunkt-Anforderung zurück an index.html. wie:
Wenn Sie dies tun, deaktivieren Sie es und erhalten Sie 101
InformationsquelleAutor der Antwort Shuai Wang