ポート2400にサービスを設定しています。Flash自体からFlashクライアントを実行すると、セキュリティポリシーをバイパスするため、正常に実行されます。
デスクトップまたはブラウザからSWFを実行して接続しようとすると、次の交換が表示されます。
00000000 3c 70 6f 6c 69 63 79 2d 66 69 6c 65 2d 72 65 71 <policy- file-req
00000010 75 65 73 74 2f 3e 00 uest/>.
00000000 3c 3f 78 6d 6c 20 76 65 72 73 69 6f 6e 3d 22 31 <?xml ve rsion="1
00000010 2e 30 22 3f 3e 3c 21 44 4f 43 54 59 50 45 20 63 .0"?><!D OCTYPE c
00000020 72 6f 73 73 2d 64 6f 6d 61 69 6e 2d 70 6f 6c 69 ross-dom ain-poli
00000030 63 79 20 53 59 53 54 45 4d 20 22 68 74 74 70 3a cy SYSTE M "http:
00000040 2f 2f 77 77 77 2e 61 64 6f 62 65 2e 63 6f 6d 2f //www.ad obe.com/
00000050 78 6d 6c 2f 64 74 64 73 2f 63 72 6f 73 73 2d 64 xml/dtds /cross-d
00000060 6f 6d 61 69 6e 2d 70 6f 6c 69 63 79 2e 64 74 64 omain-po licy.dtd
00000070 22 3e 20 3c 63 72 6f 73 73 2d 64 6f 6d 61 69 6e "> <cros s-domain
00000080 2d 70 6f 6c 69 63 79 3e 20 3c 73 69 74 65 2d 63 -policy> <site-c
00000090 6f 6e 74 72 6f 6c 20 70 65 72 6d 69 74 74 65 64 ontrol p ermitted
000000A0 2d 63 72 6f 73 73 2d 64 6f 6d 61 69 6e 2d 70 6f -cross-d omain-po
000000B0 6c 69 63 69 65 73 3d 22 6d 61 73 74 65 72 2d 6f licies=" master-o
000000C0 6e 6c 79 22 2f 3e 20 3c 61 6c 6c 6f 77 2d 61 63 nly"/> < allow-ac
000000D0 63 65 73 73 2d 66 72 6f 6d 20 64 6f 6d 61 69 6e cess-fro m domain
000000E0 3d 22 2a 22 20 74 6f 2d 70 6f 72 74 73 3d 22 2a ="*" to- ports="*
000000F0 22 20 2f 3e 3c 2f 63 72 6f 73 73 2d 64 6f 6d 61 " /></cr oss-doma
00000100 69 6e 2d 70 6f 6c 69 63 79 3e 00 in-polic y>.
したがって、応答にnullターミネータが正しく含まれていることがわかります。
提供されているポリシー要求とポリシーファイルの交換後、次のことが発生します。
- クライアントはSYNをサーバーポート2400に送信します
- サーバーはSYN、ACKに応答します
- クライアントがACKを送信します
- クライアントはFIN、ACKを送信します
- サーバーはACKに応答します
- クライアントはRST、ACKを送信します
これは、接続しているクライアント(ステップ1〜3)と中止しているクライアント(ステップ4〜6)であると想定しています。Flashはこのエラーを提供します:
エラー:エラー#2048:セキュリティサンドボックス違反:file:/// C|/Projects/rbrnascar/trunk/Development/Websites/flash/SocialMap.swfはrobpaveza.net:2400からデータを読み込めません。 com.redbull.model :: SocialMapModel / onSecurityError()で flash.events :: EventDispatcher / dispatchEventFunction()で flash.events :: EventDispatcher / dispatchEvent()で flash.net :: Socket / onTimeout()で flash.utils :: Timer / _timerDispatch()で flash.utils :: Timer / tick()で
私は次のページを見ましたが、同様の問題を表現しているようですが、解決策はありません
- Flashソケットポリシーファイルを機能させるのに問題があります
- AdobeSocketポリシーファイルサーバーの問題
- フラッシュソケットポリシー
- ポリシーで許可されているにもかかわらず、フラッシュがソケットに接続しない
誰かがこれを理解しましたか?