Flash 无法将AIR应用程序连接到socket.io

Flash 无法将AIR应用程序连接到socket.io,flash,air,websocket,socket.io,Flash,Air,Websocket,Socket.io,我正在尝试将一个AIR应用程序连接到socket.io,但它不工作。 这是我的代码: <?xml version="1.0" encoding="utf-8"?> <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xml

我正在尝试将一个AIR应用程序连接到socket.io,但它不工作。 这是我的代码:

<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
                       xmlns:s="library://ns.adobe.com/flex/spark" 
                       xmlns:mx="library://ns.adobe.com/flex/mx"
                       creationComplete="creationCompleteHandler(event)">

    <s:layout>
        <s:VerticalLayout />
    </s:layout>

    <fx:Script>
        <![CDATA[
            import com.pnwrain.flashsocket.FlashSocket;
            import com.pnwrain.flashsocket.events.FlashSocketEvent;

            import mx.events.FlexEvent;

            protected var socket:FlashSocket;


            protected function creationCompleteHandler(event:FlexEvent):void
            {
                trace("Connect");
                socket = new FlashSocket("ws://mydomain.com:8080/socketFolder/");
                socket.addEventListener(FlashSocketEvent.CONNECT, onConnect);
                socket.addEventListener(FlashSocketEvent.MESSAGE, onMessage);
                socket.addEventListener(FlashSocketEvent.CLOSE, onDisconnect);
                socket.addEventListener(FlashSocketEvent.IO_ERROR, onIOError);
                socket.addEventListener(FlashSocketEvent.SECURITY_ERROR, onSecurityError);
            }
            protected function onConnect(event:FlashSocketEvent):void{
                trace("connect");
            }
            protected function onDisconnect(event:FlashSocketEvent):void{
                trace("disconnect");
            }
            protected function onIOError(event:FlashSocketEvent):void{
                trace("onIOError");
            }
            protected function onSecurityError(event:FlashSocketEvent):void{
                trace("onSecurityError");
            }
            protected function onMessage(event:FlashSocketEvent):void{
                trace("onMessage");
            }
        ]]>
    </fx:Script>

</s:WindowedApplication>
我在服务器控制台中收到了“销毁非socket.io升级”,因此我添加了io.disable(“销毁升级”)。我再也听不到这个消息了,但也没帮上忙

在AIR应用程序中,我没有得到任何错误,调用了任何事件侦听器

socket.io服务器运行正常,因为我有一个HTML客户端连接到它。 服务器是远程服务器,而不是本地主机

我必须设置任何安全策略吗?我正在运行Flash Builder的AIR应用程序


任何想法都将不胜感激。

如果您使用的是带标签的
FlashSocket.io 0.7.x下载,那么您只需在新服务器行中指定主机和端口即可

socket = new FlashSocket("mydomain.com:8080");
试一试,看看有没有进一步的进展


sim卡

感谢您的回复。我使用的是socket.io版本0.8.4。我得到webSocketError:SYNTAX_ERR:无效url:mydomain.com:8080 TypeError:Error#1009:无法访问空对象引用的属性或方法。在couser的com.pnwrain.flashsocket::flashsocket()上的WebSocket()[/Users/simeon/Sites/projects/web socket js/flash src/WebSocket.as:62],我为服务器使用了正确的域:)我刚刚更新到socket.io 0.8.5,结果相同。有什么想法吗?我注意到在Socket.io 0.8.3中,默认端口从843更改为10843。
socket = new FlashSocket("mydomain.com:8080");