上传图片老是失败,就贴代码了。
这是后台spring websocket的配置
@Configuration
@EnableWebSocketMessageBroker
@EnableWebMvc
@Controller
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/socket");//添加了一个/socket端点,客户端就可以通过这个端点来进行连接。
registry.addEndpoint("/sockjs/socket").withSockJS();//添加了一个/socket端点,客户端就可以通过这个端点来进行连接。
}
@Override
public void configureMessageBroker(MessageBrokerRegistry registry) {
registry.enableSimpleBroker("/topic");//客户端接收服务端消息的地址的前缀信息
registry.setApplicationDestinationPrefixes("/app");//客户端给服务端发消息的地址的前缀
}
}
这是前台js
<script type="text/javascript" src="/scripts/sockjs.min.js"></script>
<script type="text/javascript" src="/scripts/stomp.min.js"></script>
var socket = new SockJS("http://localhost:8080/ins/sockjs/socket");
var stompClient = Stomp.over(socket);
stompClient.connect({},function(frame){
stompClient.subscribe("/topic/notice", function(data){
alert(data);
});
});
然后前台就会报错,不知道这个info结尾的请求是干什么用的
GET http://localhost:8080/ins/sockjs/socket/info 404 (Not Found)
Whoops! Lost connection to undefined
但是我用 new WebSocket("http://localhost:8080/ins/sockjs/socket"); 就没有问题
不过客户用的是IE8啊,没办法
SockJS是设计在浏览器中使用的。查询SockJSClient来查看SockJS支持的浏览器。支持三种方式传输数据:WebSocket,HTTPStreaming,HTTP长轮询。当SockJS发送GET/info请求的时候,服务端需要决定使用哪种传输格式,首先会检查WebSocket,如果不行则使用HTTPStreaming,如果还是不行就使用HTTP的长轮询。
转自博主,说是websocket建立连接后会向服务器发送info请求,但是不知道服务器端该输入设置spring才会处理这个请求。。。路过的大神帮忙解答下
知道了,忘了写项目名了http://localhost:8080/fendou-jsnu/jsnu-websocket/info?t=1561515561803请问这个sockjs兼容ie8怎么弄的全是连不上endpoint
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。