无法连接AIR应用到socket.io



我正在尝试将AIR应用程序连接到插座。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>

你可以看到我使用FlashSocket。

我的服务器配置是:

io.configure( function(){
    io.enable('browser client minification');  // send minified client
    io.enable('browser client etag');          // apply etag caching logic based on version number
    io.enable('browser client gzip');          // gzip the file
    io.disable('destroy upgrade');
    io.set('log level', 3);
    io.set('transports', [
        'websocket'
      , 'flashsocket'
      , 'htmlfile'
      , 'xhr-polling'
      , 'jsonp-polling'
      ]);
});

我收到"正在破坏非套接字。所以我在服务器控制台中添加了io upgrade"。禁用("摧毁升级");。我不再得到消息,但没有帮助。

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

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

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

如果您使用的是FlashSocket.io 0.7.x标记的下载,那么您应该只需要在新的服务器行中指定主机和端口。

socket = new FlashSocket("mydomain.com:8080");

试一试,看看你能不能更进一步。

sim

相关内容

  • 没有找到相关文章

最新更新