0

を使用してローカル http ソケットに接続しようとしている AIR 3.1 を使用して AIR アプリケーションを構築しています。

    localhost:7676  

ソケットは、AIR アプリが localhost を使用して接続しようとしているのと同じコンピューター上の OSX アプリケーションから実行されています。接続が成功すると、AIR アプリはデータの JSON 文字列を受け取ることになっています。

ブラウザでswfを実行すると、localhost:7676を使用して接続しますが、問題はありません。ソケットを実行しているOSXアプリに正常に接続します。FlashBuilder プロジェクトがパッケージ化され、AIR アプリとしてコンパイルされ、同じアドレスを使用して接続すると、このエラーが発生し、解決方法がわかりません...

* セキュリティ サンドボックス違反 * localhost:7676 への接続が停止しました - app:/Matrx_Remote_App.swf からは許可されていません SecurityError: エラー #2147: URL localhost:7676 で禁止されているプロトコル

クラスで使用しているコードは単純なローダー クラスです。

    _loader = new URLLoader();

        var request:URLRequest = new URLRequest("http://localhost:7676");
        _loader.addEventListener(Event.COMPLETE, onComplete);
        _loader.addEventListener(IOErrorEvent.IO_ERROR, ioerrorHandler);
        _loader.addEventListener(flash.events.HTTPStatusEvent.HTTP_RESPONSE_STATUS, handleOnEventStatus);
        _loader.load(request);

onComplete メソッドは次のようになります。

    private function onComplete(e:Event):void {
        trace("e " + URLLoader(e.target).data +  _loader.data + " _loader.bytesTotal " + _loader.bytesTotal);
        var loader:URLLoader = URLLoader(e.target);
        var jsonData:Object  = JSON.parse(loader.data);
        trace(jsonData);

    }

これに関するどんな助けも大歓迎です、ありがとう!

4

1 に答える 1

0

この質問の更新....結局のところ、ソケットの記述方法に問題があり、時間をかけて支援してくれたすべての人のおかげで、クライアント側とは何の関係もありませんでした。

于 2012-06-18T22:30:26.137 に答える