0
我想为浏览器做一个web socket实现。 Firefox,Chrome很好用,但是当我在IE中尝试时,它创建套接字对象,但从不调用定时器。web-socket.js和WebSocket
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);
};
可能是什么原因?
谢谢,我使用IE8 + Flash Player 10.2。理想情况下,setTimeout中的这个函数应该被调用,当我放置一个断点时,它不会被击中! – user705737 2011-04-27 10:14:16
我想我正在接近它。我猜JS调用闪光灯给它一个有效的WebSocket,并且闪存在端口846上向我的websocket服务器ip询问策略文件。因为它没有得到,它没有得到一个有效的WebSocket对象。有什么例子如何服务这个政策文件闪光? – user705737 2011-04-27 10:51:01
看看这里:http://www.lightsphere.com/dev/articles/flash_socket_policy.html – dwarfy 2011-04-27 10:53:03