var url =‘ws://’+window.location.host + ‘/InstantMessaging/chatWebSocketServlet’;
var socket = io.connect(url);
socket.on('connect', function () {
alert('connect');
// chat socket connected
});
socket.on('error', function (e) {
alert('e:'+e);
// chat socket connected
});
在error对应的方法里总是报访问的资源不存在, The requested resource (/socket.io/1/) is not available. 但我实际访问的应该是ws://localhost:8080/InstantMessaging/charWebSocketServlet? socket.io 客户端版本为0.9.9-4
tomcat是容器,支持websocket协议
我现在的web socket 服务端是采用tomcat7 实现的,socket.io可以实现浏览器的调用吗?
@jiyinyiyong 呃,tomcat是web容器,标准的servlet实现,java web的常用web服务器。
没有记错的话,socket.io只能连接socket.io的服务端
socket.io为了实现包括session等等功能,实际上并不是直接连接服务器的ws服务,而是先通过先一次请求(貌似只是ajax),获取一个带参数的ws地址,然后以这个地址去连接服务器 而你通过其他方式实现的ws服务端,并不存在那个提前请求的地址,必然会提示资源不存在
socket.io貌似有不少其他语言的实现,去github上搜索下吧