socket.io的Adobe AIR连接问题

时间:2014-02-18 12:48:59

标签: node.js sockets flex air socket.io

我在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);

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

使用其他端口,我们使用443。