|
|
|||||
Регистрация: Nov 2007
Сообщений: 15
|
Flash->Socket->PHP Альтернативы
Добрый день.
Нужно сделать связь флэш приложения запускаемого с сервера и пхп скрипта дергающего для этого приложения данные из базы. (проект тестовый, для саморазвития, флэшем серьезно занимаюсь недавно). Заранее спасибо. Итак вопросы: 1. Правда ли что для успешного коннекта с сервером через класс Socket нужно чтобы сервер был выделенным? В мануалах я такого утверждения не нашел, но на этом форуме пару раз что-то подобное видел. Должен ли работать такой сокет с виртуальным хостом (локальный апач или арендованный хостинг скажем на sweb)? 2. Если приложение (файл swf) и скрипт пхп (index.php) лежат на сервере, и даже в одной папке (например, рут хоста), нужны ли для работы сокета какие-то дополнительные меры по настройке секьюрити (использование allowDomain или loadPolicyFile)? Я так понял что нет. Т.к. в мане для сокета указано: - Data loading is not allowed if the calling SWF file is in the local-with-file-system sandbox and the target resource is from a network sandbox. (не наш случай) - Data loading is also not allowed if the calling SWF file is from a network sandbox and the target resource is local. (тоже не наш случай) - The calling SWF file and the network resource being accessed must be in exactly the same domain. For example, a SWF file at adobe.com can connect only to a server daemon at adobe.com. (это как раз наш случай !) - Websites can permit cross-domain access to a resource through a cross-domain policy file. (тоже не наш случай) Т.е. все главные требования выполняются. 3. Я выполнил тестовый пример коннекта сокета на основе примера из мануала (Flash Help -> class Socket), он работает только при компиляции в среде и при компиляции в ехе файл. Все мои попытки запустить swf на сервере ни к чему не привели. Ошибок секьюрити не выдает. snadbox пишет REMOTE. Все должно быть нормально. Все тесты показали, что останавливается именно на шаге коннекта к серверу, объект самого сокета создает, а событие на коннект не срабатывает. Какие могут быть ошибки? 4. Есть еще какие-нибудь способы установки соединения с пхп, кроме сокета, чтобы можно было общаться на уровне хттп запросов, или примерно таком же низком уровне данных. Желательно обойтись без промежуточных XML файлов. |
|
|||||
Регистрация: Nov 2007
Сообщений: 15
|
Цитата:
А если писать все на АС3, то, судя по ману, нужно использовать URLLoader. Мне этот метод не очень удобен, т.к. он диктует формат организации данных. Последний раз редактировалось screamge; 15.11.2007 в 15:27. |
|
|||||
Ветеран форума
Регистрация: Jul 2006
Адрес: Грузия, Тбилиси
Сообщений: 2,675
|
komar, пожалуйста объединяйте друг за другом следующие сообщения, для этого есть кнопка «изменить».
|
|
|||||
Регистрация: Nov 2007
Сообщений: 15
|
Цитата:
|
|
|||||
listener
|
Socket флэша предназначен для взаимодействия с сокет-сервером. и не просто с сокет-сервером, а с таким, который умеет "понимать" протокол класса XMLSocket. т.е. сокет-сервер - это отдельное приложение, которое крутится на хосте, слушает клиентов и т.д.
во флэше (8) класс именуется XMLSocket - это не спроста. почему? как вы думаете? я не совсем понял выражения Цитата:
зачем вы на сервере запускаете swf? и как вам это вообще удается? или вы владелец хоста? swf запускается и выполняется на стороне клиента, а через сокет осуществляется связь с сервером. на то оно и клиент-серверное приложение. или я чего-то не понимаю. Последний раз редактировалось alexcon314; 15.11.2007 в 18:18. |
|
|||||
Регистрация: Nov 2007
Сообщений: 15
|
Цитата:
2. сокет-сервер нужен для обоих классов Socket и XMLSocket 3. Где берутся или как пишутся сокет-серверы? Цитата:
Цитата:
Цитата:
Выражение "открываю с сервера" я использую, потому что хоть swf файл и качается на клиента, в sandbox`e пишется уже не LocalWithNetwork или LoacalwithFile а REMOTE. т.е. пример работы как раз описанный в хелпнике: The calling SWF file and the network resource being accessed must be in exactly the same domain. For example, a SWF file at adobe.com can connect only to a server daemon at adobe.com. Последний раз редактировалось komar; 15.11.2007 в 20:14. |
|
|||||
listener
|
и что вам не ясно?
http://www.flasher.ru/forum/showthread.php?t=92951 о security во флэше Цитата:
Цитата:
Цитата:
http://flasher.ru/forum/archive/index.php/t-86289.html Вобщем, примерно так: Socket - это сокет: XMLSocket на клиенте, сокет-сервер на хосте. PHP - это PHP: LoadVars на клиенте, PHP на хосте. они и есть друг другу альтернатива. Есть еще FlashRemoting, AMFPHP про них почитайте. но это не альтернатива в полном смысле, а вариант. Что применять - дело конкретной задачи. Цитата:
|
|
||||||||
Banned
[+4 11.12.07]
[+4 18.03.08] Регистрация: Oct 2007
Сообщений: 269
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
|
|||||
Регистрация: Nov 2007
Сообщений: 15
|
У меня складывается впечатление что мы говорим немного о разных вещях. Вы уже второй упоминаете XMLSocket.
Я же говорю о классе Socket. Класс из AS3 Flash 9. flash.net.Socket Не знаю как еще объяснить. Т.е. речи об XML не идет. >> http://www.flasher.ru/forum/showthread.php?t=92951 По сслылке что вы дали, речь идет о локальных(!) настройках, и настройках для конкретного клиента. Это здесь никак не применимо. А правила безопасности ("...Вам необходимо соблюсти все правила безопасности флеша (crossdomain.xml и т.п.) для публикации на сервере, чтобы не получить в дальнейшем проблем с загрузкой данных...") здесь как я считаю соблюдены, как раз на основании документации к Flash 9. Речь об этом. Я описал организацию и размещение swf файла, сервера и скриптов с которыми он должен связываться. И спрашиваю: - действительно ли не нужно дополнительных прав для флэшки; - почему флэшка не может открыть сокет с сервером; - с слову о сокет-серверах, на апаче по идее по умолчанию стоит сокет сервер, который слушает 80 порт, иначе как идут хттп запросы на 80 порт. |
Часовой пояс GMT +4, время: 17:46. |
|
« Предыдущая тема | Следующая тема » |
|
|