使用SockJS进行WebSocket连接时stompClient.connect方法不执行是为什么?
function connect() {
var socket = new SockJS('/socket');
stompClient = Stomp.over(socket);
stompClient.connect({}, function (frame) {
setConnected(true);
});
console.log("test");
}
前端使用sockjs.js和stomp.js进行WebSocket连接的时候,debug看到执行到stompClient.connect方法时,并没有进入方法体,而是直接跳到console.log语句,这是为什么啊?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
问题解决了
我原来是把问题中的connect()方法写在Ajax请求成功的回调函数里的,我想可能是因为这种情况下HTTP协议与WebSocket协议有冲突吧。具体到底是什么原因我就不清楚了...
最骚的主要是前后台都没有报错,令人费解...
你说的方法体是指你那
setConnected(true);
么,你这个应该是一个回调,并不是立即执行的不晓得header的map是不是必填的,你可以在回调中打个断点或者加个console,如果不是必填的,会走进回调函数中。
再或者加个错误的回调提示看看。
stompClient.connect({}, function (frame) {