我在Adobe Air(flex)中有一个桌面应用程序。 我在我的应用程序中使用flashSocket.io库与node.js服务器上的socket.io进行通信。
它适用于大多数客户。 但是对于一些随机客户端,flex应用程序无法与socket.io服务器建立连接。它会不断抛出连接错误并在flex上关闭错误。客户端不在任何防火墙或代理服务器之后。
控制台有类似
的警告Web Socket Connection Invalid
我想这对那些无法连接的客户来说。
由于它为大多数用户工作,我不知道我应该在哪里研究。此外,我无法重现这一点。
这是服务器代码:
var io = require('socket.io').listen(app);
app.listen(8080, function() {
console.log('%s listening at %s', app.name, app.url);
});
io.configure(function() {
io.set('transports', ['flashsocket']);
io.set('flash policy port', 843);
});
Flex代码:
socket = new FlashSocket("http://domain.com:8080/");
socket.addEventListener(FlashSocketEvent.CONNECT, onConnect);
socket.addEventListener(FlashSocketEvent.MESSAGE, onMessage);
socket.addEventListener(FlashSocketEvent.CLOSE, onDisconnect); //only close and connect_error event is always fired for certain clients
socket.addEventListener(FlashSocketEvent.CONNECT_ERROR, onConnectError);
任何帮助都将受到高度赞赏。
答案 0 :(得分:0)
使用其他端口,我们使用443。