![]() |
Скоро повешусь с <policy-file-request/>
Пишу сервак на java. Поставил ServerSocket на 843 порту. Идет соединение и отправляется файл политики.
<?xml version="1.0"?> <cross-domain-policy> <allow-access-from domain="*" to-ports="*"> </cross-domain-policy> с \u0000 на конце. Но флеш не посылает нужные мне строки на сервер после принятия файла политики. Либо я передаю че-то не правильно... либо я передаю че-то не правильно! Помогите плиз. |
Закрывает ли сервер соединение с клиентом после отправки ему политики?
Вот кроссдоменник: Код:
<?xml version="1.0"?>Код:
import socket |
Механизм должен быть такой: флеш коннектится, получает файл политики, соединение закрывается сервером. Это должно быть сделано обязательно! А дальше можно уже производить новый коннект на любой другой порт.
То есть сервер логичнее всего разбить на 2 части. Чисто часть которая занимается отправкой файлов политики, и часть которая обрабатывает все остальное. |
Цитата:
Код AS3:
Если swf не залит на серв, то лог сервера такой: 8010: CONNECT DATA: ALL OK!!! 8010: DISCONNECTED BY SERVER а если залит, то такой: 843: CONNECT 843: NEED POLICY FILE 843: DISCONNECTED BY SERVER 8010: CONNECT ошибку не выдает не понимаю я этого адобовского юмора security |
Если у вас на 843 порту сервера висит и слушает секьюрный скрипт, вроде того, что я привел, то достаточно на клиенте выполнить следующее:
Код AS3:
|
loadPolicyFile не приводит к немедленной загрузке файла политик из альтернативного источника. Это указание на дополнительное действие "возьми-ка политики не только с 843 порта, а еще и тут до кучи, когда будешь коннектиться к серверу".
В этом контексте Security.loadPolicyFile("xmlsocket://localhost:843"); - бессмысленный код (да еще и в try-catch). Более того, видимо, вредный :): после возможно успешного дефолтного запроса на 843 порт, сервер закрывает коннект, а плеер, согласно указанию в коде, опять туда стучится, но таймаутов тут уже нет и клиент успешно засыпает в ожидании "дополнительных" политик. Шутка, но в каждой шутке есть доля сами знаете чего. Протестите сервер на предмет отдачи политик и уберите loadPolicyFile, воспользуйтесь примером bav'a создания коннекта с подпиской на события. И да, самостоятельный демон-скрипт, которые спокойно слушает 843 порт, раздает политики, и позволяет не забивать себе голову этим "юмором" - тоже отличная идея. _________ И еще, эмоции эмоциями, но вот ругань в заголовке темы, равно как и в постах, крайне не приветствуется. |
Цитата:
И заодно разберитесь с исключениями и событиями. SecurityErrorEvent не выбрасывается штатными функциями, это событие, на него нужно подписываться. |
| Часовой пояс GMT +4, время: 10:54. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.