Spring WebSocket 问题 创建连接不成功问题

javacom 发布于 2017/09/08 18:08
阅读 2K+
收藏 0

鲲鹏开发者成长训练营,学练结合,技能一站式进阶,赢华为手机等好礼!>>>

上传图片老是失败,就贴代码了。

这是后台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啊,没办法

 

加载中
0
bf109
bf109

SockJS是设计在浏览器中使用的。查询SockJS Client来查看SockJS支持的浏览器。支持三种方式传输数据:WebSocket,HTTP Streaming,HTTP长轮询。 当SockJS发送 GET /info 请求的时候,服务端需要决定使用哪种传输格式,首先会检查WebSocket,如果不行则使用HTTP Streaming,如果还是不行就使用HTTP的长轮询。

转自博主,说是websocket建立连接后会向服务器发送info请求,但是不知道服务器端该输入设置spring才会处理这个请求。。。路过的大神帮忙解答下

bf109
bf109
知道了,忘了写项目名了 http://localhost:8080/fendou-jsnu/jsnu-websocket/info?t=1561515561803
0
f
fywsh

请问这个sockjs兼容ie8怎么弄的 全是连不上endpoint

返回顶部
顶部