我怎样才能在js中使用websocket协议?

时间:2012-08-24 05:32:39

标签: java javascript http websocket tomcat7

ws = new MozWebSocket("ws://localhost:8080/html5WebSocket/mywebsocket.do");

我使用上面的代码来执行websocket请求,但发现连接已经被onclose方法立即关闭了。

ws.onclose = function(evt) {
        alert("close");
    };

firebug的网络标签显示从浏览器到tomcat的请求网址是 http :// localhost:8080 / html5WebSocket / mywebsocket.do。 我希望网址为 ws :// localhost:8080 / html5WebSocket / mywebsocket.do。

我做错了什么?

3 个答案:

答案 0 :(得分:2)

MozWebSocket用于Firefox 6-10,如果您使用的是较新版本,请使用WebSocket作为构造函数方法。

答案 1 :(得分:0)

使用Web套接字时看到与http://...的连接是正常的,因为Web套接字握手与HTTP“升级”请求无法区分。

问题可能是服务器端,而不是客户端。

答案 2 :(得分:0)

我在javascript中使用“WebSocket”类。它适用于Safara,Firefox和Chrome。这是一个例子:

var ws = new WebSocket(wsUrl);
ws.onopen = function() {
    ...
};
ws.onmessage = function(evt) {
   ...
};
ws.onclose = function() {
   ...
};

在服务器端,我使用Tomcat& Jetty-Websocket(http://wiki.eclipse.org/Jetty/Feature/WebSockets)