Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   Сокет приложение "Чат" (http://www.flasher.ru/forum/showthread.php?t=145494)

Seafnox 10.10.2010 06:09

Сокет приложение "Чат"
 
Вложений: 2
Создал приложение, в виде экзешника оно работает, при компиляции в CS5 так же работает без проблем, однако когда запускаю его через флэшплеер(то есть и локально и через браузер), то выпадает ошибка защиты
кросс доменник передается где только можно.
каждый раз происходит вот это
1) флээшка цепляется к порту 843, посылает <policy-file-request/>
2)Сервер через этот порт отдает файл по запросу
3) флэшка закрывает соединение
4) флэшка идет на второй порт сервера
5) сервер открывает соединение
6) флэшка, на кой то черт, посылает снова <policy-file-request/>
7) достала, но ядобавил так, чтобы и тут сервер посылал политику в ответ
8)флэшка закрывает соединение и выдает ошибку
securityErrorHandler: [SecurityErrorEvent type="securityError" bubbles=false cancelable=false eventPhase=2 text="Error #2048"]


прошу помочь разобраться, бинарники сервера, при необходимости могу опубликовать.

membrilius 10.10.2010 14:06

зачем Вам переходить на другой порт?

у меня работает схема

1) флэшка конектится к порту N, сама посылает запрос политики <policy-file-request/>
2) Сервер читает, если это запрос политики, то отдает кросдомен
Код:

<?xml version=\"1.0\"?>
        <!DOCTYPE cross-domain-policy SYSTEM \"/xml/dtds/cross-domain-policy.dtd\">
                <cross-domain-policy>
                        <allow-access-from domain=\"mydomain.ru\" to-ports=\"6666\" />
                </cross-domain-policy>\0

обычной строкой.
3) флэшка получает, читает. Сама закрывает соединение и открывает его заново, ничего больше серверу не посылая.

Seafnox 10.10.2010 19:36

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

Добавлено через 4 минуты
Вообще я делал несколько различных файлов политики, вплось до

<cross-domain-policy>
<allow-access-from domain=\"mydomain.ru\" to-ports=\"6666\" />
</cross-domain-policy>\0

membrilius 10.10.2010 21:47

так а зачем Вам другой порт?

Seafnox 11.10.2010 01:05

потмоу что порт политики безопасности он как бэ намекает что он толкьо для политки безопасности.
Но к сожалению весь сервер на один порт я тоже ставит и пользы это не принесло. теперь просто всё происходило единажды на 843 порту, после чего всёравно вылезала ошибка 2048

etc 11.10.2010 17:58

Отдавайте по обоим портам.

Seafnox 11.10.2010 21:25

неужели всем пофиг что я написал????
я же уже описал что отдаю по 843 - он не берет и идет на рабочий порт, где я снова ему отдаю политику!
1)пробовал только 843
2) пробовал на одном порту и не 843
3) пробовал сразу на оба порта!

возможно где о на сервере стоит что то поискать, скажите где копать?
возможно что то не так с моим кросс доменником, но я использовал уже 4 вида, включая тот что описан выше
возможно я где то не так написал код, но тогда бы не работали экзешники или сервер

Добавлено через 23 минуты
набрел после 4 дней поиска на интересную статью по этому поводу
http://www.thecosmonaut.com/2008/08/...-policy-files/
на сколько я понял речь тут шла не о сокета, но чем черт не шутит.. приступил к переводу :(

надеюсь на помощь знатоков еще

Seafnox 24.10.2010 19:53

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

Trein 13.11.2010 15:39

У меня похожая проблема:
1) Клиент подключается к серверу
2) Клиент цепляется к порту 843 посылае <policy-file-request/>
3) Не получает ответа и цепляется с тем же запросом к указанному порту.
4) В ответ сервер отправляет сообщение вида

Код:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy
  SYSTEM "htp://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy> 
    <allow-access-from domain="*" to-ports="5555-9999" /> 
</cross-domain-policy>

(Внутри сервера к этому сообщению прицепляется "\0")
5) После чего клиент отключается и не переподключается.

Либо я косячу с файлом политики безопасности, либо не знаю что. К слову, если тестирую клиентское приложение внутри студии, то все работает в порядке (правда тогда он не просит файл политики безопасности).


Часовой пояс GMT +4, время: 11:29.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.