手机应用下载网站源码,网游开发成本,怎么做自己的公司网站,怎么打开手机app最近在做一个WebSocket项目#xff0c;后台使用了Stomp协议的WebSocketConfigurer#xff0c;但是前端在测试的时候#xff0c;发现一个很奇怪的问题#xff1a; 本地的测试代码#xff0c;最初我使用了JavaSockJS实现#xff1a; Configuration
EnableWebSocketMessageB…最近在做一个WebSocket项目后台使用了Stomp协议的WebSocketConfigurer但是前端在测试的时候发现一个很奇怪的问题 本地的测试代码最初我使用了JavaSockJS实现 Configuration
EnableWebSocketMessageBroker
public class WebSocketStompConfig implements WebSocketMessageBrokerConfigurer {Overridepublic void registerStompEndpoints(StompEndpointRegistry registry) {registry.addEndpoint(/density).setAllowedOrigins(*) //解决跨域问题.withSockJS();}Overridepublic void configureMessageBroker(MessageBrokerRegistry config) {config.enableSimpleBroker(/topic);}
} var url http://172.18.171.167:8080/density
var socket new SockJS(url)
var stompClient Stomp.over(socket)这种情况下自测可以通过 但是前端反应SockJS不支持同时打开多个Socket订阅我也不清楚到底是否真实懒得追究了于是需要研究如何在前端通过原生WebSocket的方式而不是SockJS的方式建立客户端BTW 我一直觉得这是前端的活儿我也不明白我一个后端为什么要搞这个 按照网上的教程写了如下的代码 var stompClient Stomp.client(ws://172.18.171.167:8080/density);stompClient.connect({}, function (frame) {setConnected(true);console.log(Connected: frame);stompClient.subscribe(/topic/callback, function (response) {showCallback(response.body);});}); 但是这时无论如何前端都会报如下的错误 failed: Unexpected response code: 200 试了很多种方法但是都没法儿解决问题最终在Stack Overflow的一个回答下面的Comment里面找到答案 将原来的URL ws://172.18.171.167:8080/density/ 改为 ws://172.18.171.167:8080/density/websocket 生效 具体为什么我也不知道。。。Orz转载于:https://www.cnblogs.com/chrischeng/p/10237523.html