Flash не подключается к сокету, даже если это разрешено политикой - PullRequest
1 голос
/ 31 декабря 2010

В моем приложении Flash я подключаюсь к своему серверу следующим образом:

Security.loadPolicyFile("xmlsocket://example.com:12860");
socket = new Socket("example.com", 12869);
socket.writeByte(...);
...
socket.flush();

На порту 12860 у меня работает сервер политики сокетов, который (согласно этому документу ) правильно отображает мою политику следующим образом:

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 63 72 6f 73 73 2d 64  6f 6d 61 69 6e 2d 70 6f <cross-d omain-po
    00000010  6c 69 63 79 3e 3c 73 69  74 65 2d 63 6f 6e 74 72 licy><si te-contr
    00000020  6f 6c 20 70 65 72 6d 69  74 74 65 64 2d 63 72 6f ol permi tted-cro
    00000030  73 73 2d 64 6f 6d 61 69  6e 2d 70 6f 6c 69 63 69 ss-domai n-polici
    00000040  65 73 3d 22 6d 61 73 74  65 72 2d 6f 6e 6c 79 22 es="mast er-only"
    00000050  20 2f 3e 3c 61 6c 6c 6f  77 2d 61 63 63 65 73 73  /><allo w-access
    00000060  2d 66 72 6f 6d 20 64 6f  6d 61 69 6e 3d 22 2a 22 -from do main="*"
    00000070  20 74 6f 2d 70 6f 72 74  73 3d 22 31 32 38 36 39  to-port s="12869
    00000080  22 20 2f 3e 3c 2f 63 72  6f 73 73 2d 64 6f 6d 61 " /></cr oss-doma
    00000090  69 6e 2d 70 6f 6c 69 63  79 3e 00                in-polic y>.

Я не получаю предупреждений безопасности, которые я получал до установки сервера политики.Тем не менее, подключение к порту 12869 не работает.Это сделано (я могу видеть с Wireshark и на сервере), но данные не отправляются Flash.

Возможно, стоит знать, что сам SWF-файл также подается с example.com.

1 Ответ

0 голосов
/ 09 января 2011

Мне нужно дождаться события подключения, прежде чем отправлять данные через сокет.

...