用tomcat作为服务器端,客户端浏览器支持就直接采用websocket,但有些客户端浏览器不支持,采用什么方式替代好呢,用了sockJs,怎么不起作用了?
var sock = new SockJS("/msgChannel");
sock.onopen = function() {
console.log('open');
};
sock.onmessage = function(e) {
console.log('message', e.data);
};
sock.onclose = function() {
console.log('close');
};
"/msgChannel"是websocket注册的一个服务器节点,地址"ws://host/xxx/msgChannel"是可以访问的,不支持websocket的浏览器换成sockJs就不行,sockJs访问时默认为为http形式,是不是服务器端需要做些修改才能接受sockJs的访问(服务器是实现了websocket协议的tomcat8)
通讯方式会降级处理,依次为:websocket -> html strea m -> long polling -> ajaxjsonp
sockjs需要对应的服务器按照sockjs编写,有很多开源的支持sockjs协议的服务器。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。