smu*_*kes 30 javascript java tomcat websocket spring-websocket
我的错误显示在浏览器的控制台中:
"WebSocket connection to 'ws://localhost:32768/DspClusterWebServices/myHandler' failed: Unexpected response code: 200"
我正在使用Spring Websockets 4.1.5
和Tomcat 8.0.18
.我的WebSocketConfigurer实现类如下所示:
@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();
}
}
Run Code Online (Sandbox Code Playgroud)
我的testWebsocketClient.js尝试连接此代码,但错误代码为200:
websocket = new WebSocket("ws://localhost:8080/myApp/myHandler");
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚下一步该尝试什么.我以为这会导致afterConnectionEstablished(WebSocketSession会话)方法被触发?代码200不好吗?
xer*_*593 34
请查看http://procbits.com/connecting-to-a-sockjs-server-from-native-html5-websocket!
追加/websocket
(到您的URL)后,它会给您错误
无法解析Origin标头值[null]
;),然后将引导您到那个链接.
你必须添加.setAllowedOrigins("*")
到你的addHandler()
方法,然后它可以最终工作!
小智 7
作为我的另一个答案:[ /sf/answers/3729086651/] [1 ]
我使用springboot 2 + STOMP.
删除.withSockJS()
,然后一切都好.
我不知道原因,但对我有用.
小智 5
不知道这是否为时已晚,但我偶然发现的一个解决方案是简单地将字符串附加/websocket
在您在 Spring Boot 服务器中声明的 websocket 端点之后。这将有助于保留转发逻辑并连接并建立 Websocket 连接。
归档时间: |
|
查看次数: |
52973 次 |
最近记录: |