web-socket.js和WebSocket

时间:2011-04-27 09:41:23

标签: javascript websocket

我正在尝试为浏览器执行Web套接字实现。 Firefox,Chrome效果很好,但是当我在IE中尝试时,它会创建套接字对象,但从不调用计时器。

WebSocket = function(url, protocol, proxyHost, proxyPort, headers) {
var self = this;
self.__id = WebSocket.__nextId++;

WebSocket.__instances[self.__id] = self;
self.readyState = WebSocket.CONNECTING;
self.bufferedAmount = 0;
self.__events = {};

// Uses setTimeout() to make sure __createFlash() runs after the caller sets ws.onopen etc.
// Otherwise, when onopen fires immediately, onopen is called before it is set.
setTimeout(function() {
    WebSocket.__addTask(function() {
      WebSocket.__flash.create(
          self.__id, url, protocol, proxyHost || null, proxyPort || 0, headers || null);
      });
    }, 0);
};

可能是什么原因?

1 个答案:

答案 0 :(得分:0)

你在谈论什么版本的IE? 你在使用什么websocket库?

旧版IE不支持Web套接字。我认为你需要为那些旧浏览器使用长轮询而不是websockets ...

如果你使用这个:https://github.com/gimite/web-socket-js 它在文档中说明:

  

它应该适用于:Google Chrome 4或   以后(只使用原生   实现)Firefox 3.x,4.x,   Internet Explorer 8,9 + Flash Player   10或更高版本它可能会或可能不会工作   其他浏览器,如Safari,Opera   或IE 6.这些浏览器的补丁是   赞赏,但我不会继续努力   解决这些问题   浏览器本身。