2012-01-27 8 views
1

ActionScriptで書かれたXMLSocketクラスのTCP/IPを使用してサーバーデバイスと通信するためのFlashクライアントアプリケーションがポート5750にあります。インターネットに接続されているサーバーに接続します。AndroidのActionScriptソケット

最新のAndroidバージョンではFlashがサポートされているため、AndroidクライアントにFlashクライアントをインストールすると、これが動作すると考えられます。ただし、接続の試行がハングするだけです。現在のところ、実行中のFlashアプリケーションだけでは、クライアント側には診断がありません。したがって、ログや標準エラーメッセージはありません。

サーバデバイスは基本的にブラックボックスですが、サーバがクライアントから要求を受け取らないことは明らかです。これは、クライアントがソケットを開くことができなかったことを示しています。

基本的なWeb検索では、この状況についてあまり知られていないことが示唆されています。ここで何がうまくいかないかについての考えはありますか?

たとえば、おそらくXMLSocketはAndroidで動作しません。またはAndroidブロックのポート5750? Flash Playerには、サンドボックスやファイアウォールの制限がありますか?

私たちは、Android 2.2-2.3とAndroid Flash Player 10-11を実行するいくつかの異なるAndroidデバイスを試しました。クライアントはActionScript 2で記述されています。

答えて

1

これはおそらくセキュリティ設定の問題です。

Androidデバイスで動作しているFlashクライアントがサーバーと同じドメインにないとします。

XMLSocket.connect()メソッドは、SWFファイルが存在する同じドメインのコンピュータにのみ接続できます。この制限は、ローカルディスクから実行されているSWFファイルには適用されません。 (この制限は、loadVariables()、XML.sendAndLoad()、およびXML.load()のセキュリティ規則と同じです)。SWFが存在するドメイン以外のドメインで実行されているサーバーデーモンに接続する場合は、特定のドメインからのアクセスを許可するセキュリティポリシーファイルをサーバー上に作成します。

XMLSocketオブジェクトと通信するようにサーバーを設定することは、難しい可能性があります。アプリケーションでリアルタイムインタラクティブ機能が必要ない場合は、XMLSocketの代わりにloadVariables()関数またはFlash HTTPベースのXMLサーバー接続(XML.load()、XML.sendAndLoad()、XML.send())を使用してくださいクラス。 XMLSocketクラスのメソッドを使用するには、最初にコンストラクターnew XMLSocketを使用してXMLSocketオブジェクトを作成する必要があります。

XMLSocket working in firefox but not IE

Flash client XMLSocket not connecting to server

は見てみるあなたの質問に関連する他の問題のカップル、価値があります。

関連する問題