我想将聊天集成到我制作的应用程序中,在遵循一些教程并运行该应用程序后,我在控制台上不断收到“哎呀!与http://localhost:8080/ws 的连接丢失”,我尝试使用 sockjs 路径作为“/ ws”但仍然出现相同的错误,请有人向我解释我做错了什么吗?
这是我的代码片段:
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfiguration extends AbstractWebSocketMessageBrokerConfigurer {
@Override
public void registerStompEndpoints(StompEndpointRegistry stompEndpointRegistry) {
stompEndpointRegistry.addEndpoint("/ws")
.setHandshakeHandler(new CustomHandshakeHandler())
.withSockJS();
}
@Override
public void configureMessageBroker(MessageBrokerRegistry registry) {
registry.setApplicationDestinationPrefixes("/app");
registry.enableSimpleBroker("/message");
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的客户
var socket = new SockJS('http://localhost:8080/ws');
stompClient = Stomp.over(socket);
stompClient.connect({}, onConnected, onError);
function onConnected() {
console.log("its working");
}
function onError(error) {
console.log(error);
}
Run Code Online (Sandbox Code Playgroud) 我正在通过Sock.JS客户端发送一条stomp消息.当我断开服务器时,我希望在客户端上显示一条警告消息.为此,我实现了服务器端心跳...
stompClient = Stomp.over(socket);
stompClient.heartbeat.outgoing = 20000;
stompClient.heartbeat.incoming = 20000;
stompClient.connect({}, function(frame) {
...
}
Run Code Online (Sandbox Code Playgroud)
在Chrome开发者控制台中,我看到了消息......
POST http://localhost:8080/hello/800/8n_btbxb/xhr_streaming net::ERR_CONNECTION_RESET sockjs-0.3.min.js:27
Whoops! Lost connection to undefined
Run Code Online (Sandbox Code Playgroud)
但我不确定如何在JS中捕获此错误.我相信我错过了一些简单的东西,但是一点帮助就会很棒.