Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 15.11.2007, 13:59
komar вне форума Посмотреть профиль Отправить личное сообщение для komar Найти все сообщения от komar
  № 1  
Ответить с цитированием
komar

Регистрация: 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 файлов.

Старый 15.11.2007, 14:45
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 2  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
LoadVars

Старый 15.11.2007, 15:11
komar вне форума Посмотреть профиль Отправить личное сообщение для komar Найти все сообщения от komar
  № 3  
Ответить с цитированием
komar

Регистрация: Nov 2007
Сообщений: 15
Цитата:
Сообщение от alexcon314
LoadVars
Так, спасибо. Но это ответ только на 4 вопрос. Мне бы еще хотелось все-таки узнать мои ошибки/заблуждения по остальным вопросам.

А если писать все на АС3, то, судя по ману, нужно использовать URLLoader.
Мне этот метод не очень удобен, т.к. он диктует формат организации данных.


Последний раз редактировалось screamge; 15.11.2007 в 15:27.
Старый 15.11.2007, 15:28
screamge вне форума Посмотреть профиль Отправить личное сообщение для screamge Посетить домашнюю страницу screamge Найти все сообщения от screamge
  № 4  
Ответить с цитированием
screamge
Ветеран форума
 
Аватар для screamge

Регистрация: Jul 2006
Адрес: Грузия, Тбилиси
Сообщений: 2,675
komar, пожалуйста объединяйте друг за другом следующие сообщения, для этого есть кнопка «изменить».
__________________
Free-lance | Twitter | Me

Старый 15.11.2007, 16:24
komar вне форума Посмотреть профиль Отправить личное сообщение для komar Найти все сообщения от komar
  № 5  
Ответить с цитированием
komar

Регистрация: Nov 2007
Сообщений: 15
Цитата:
Сообщение от screamge
komar, пожалуйста объединяйте друг за другом следующие сообщения, для этого есть кнопка «изменить».
Прошу прощения. Буду аккуратнее.

Старый 15.11.2007, 18:09
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 6  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
Socket флэша предназначен для взаимодействия с сокет-сервером. и не просто с сокет-сервером, а с таким, который умеет "понимать" протокол класса XMLSocket. т.е. сокет-сервер - это отдельное приложение, которое крутится на хосте, слушает клиентов и т.д.
во флэше (8) класс именуется XMLSocket - это не спроста. почему? как вы думаете?
я не совсем понял выражения
Цитата:
Нужно сделать связь флэш приложения запускаемого с сервера и пхп скрипта ...
...мои попытки запустить swf на сервере
...Я выполнил тестовый пример коннекта сокета на основе примера из мануала (Flash Help -> class Socket), он работает только при компиляции в среде и при компиляции в ехе файл. Все мои попытки запустить swf на сервере ни к чему не привели.
какой пример? как он у вас работает? у меня ни один не работает.
зачем вы на сервере запускаете swf? и как вам это вообще удается? или вы владелец хоста?
swf запускается и выполняется на стороне клиента, а через сокет осуществляется связь с сервером. на то оно и клиент-серверное приложение. или я чего-то не понимаю.


Последний раз редактировалось alexcon314; 15.11.2007 в 18:18.
Старый 15.11.2007, 18:44
komar вне форума Посмотреть профиль Отправить личное сообщение для komar Найти все сообщения от komar
  № 7  
Ответить с цитированием
komar

Регистрация: Nov 2007
Сообщений: 15
Цитата:
Socket флэша предназначен для взаимодействия с сокет-сервером. и не просто с сокет-сервером, а с таким, который умеет "понимать" протокол класса XMLSocket. т.е. сокет-сервер - это отдельное приложение, которое крутится на хосте, слушает клиентов и т.д.
1. Почему об этом не сказано в описании класса? это к слову
2. сокет-сервер нужен для обоих классов Socket и XMLSocket
3. Где берутся или как пишутся сокет-серверы?

Цитата:
во флэше (8) класс именуется XMLSocket - это не спроста. почему? как вы думаете?
очевидно обмен информации происходит в формате XML

Цитата:
какой пример? как он у вас работает? у меня ни один не работает.
Откройте в 9м флэше F1 помощь, найдите описание класса Socket там в конце есть пример работы сокета. Вот этот пример, только немного апгрейденый. Смысла его выкладывать я не вижу, он длинный и моего там ничего нет. Если надо, то выложу.

Цитата:
зачем вы на сервере запускаете swf? и как вам это вообще удается? или вы владелец хоста?
swf запускается и выполняется на стороне клиента, а через сокет осуществляется связь с сервером. на то оно и клиент-серверное приложение. или я чего-то не понимаю.
ну на сервер кладется index.html страница, на которой размещен index.swf, и открываю его www.test.ru/index.html . Т.е не локально. Коннектится флэшка должна на хост www.test.ru , и общаться со скриптом www.test.ru/index.php

Выражение "открываю с сервера" я использую, потому что хоть 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.
Старый 15.11.2007, 22:21
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 8  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
и что вам не ясно?
http://www.flasher.ru/forum/showthread.php?t=92951
о security во флэше
Цитата:
очевидно обмен информации происходит в формате XML
вот именно. какой другой формат данных вы туда хотите запихнуть и как (и зачем?!)?
Цитата:
To use the XMLSocket class, the server computer must run a daemon that understands the protocol used by the XMLSocket class. (Flash8 Help)
Цитата:
Где берутся или как пишутся сокет-серверы?
пишутся на C++, Perl, C# и т.п.. берутся в сети (примеры, обсуждения, исходники), даже на этом форуме. Вот навскидку:
http://flasher.ru/forum/archive/index.php/t-86289.html

Вобщем, примерно так:
Socket - это сокет: XMLSocket на клиенте, сокет-сервер на хосте. PHP - это PHP: LoadVars на клиенте, PHP на хосте. они и есть друг другу альтернатива.
Есть еще FlashRemoting, AMFPHP про них почитайте. но это не альтернатива в полном смысле, а вариант.
Что применять - дело конкретной задачи.
Цитата:
Нужно сделать связь флэш приложения запускаемого с сервера и пхп скрипта дергающего для этого приложения данные из базы.
вам, судя по этой формулировке, подошел бы PHP и LoadVars, о чем я и упомянул. ищете "особых" решений для данной задачи - юзайте сокет.

Старый 15.11.2007, 22:36
LinuxVideo вне форума Посмотреть профиль Найти все сообщения от LinuxVideo
  № 9  
Ответить с цитированием
LinuxVideo
Banned
[+4 11.12.07]
[+4 18.03.08]

Регистрация: Oct 2007
Сообщений: 269
Цитата:
Правда ли что для успешного коннекта с сервером через класс Socket нужно чтобы сервер был выделенным?
Бред. Сервер, к которому коннектишься, должен тупо слушать порт. На простых хостингах висит httpd на 80, на выделенных можно своих демонов пускать. Виртуальные дедики по 20 баксов.

Цитата:
Должен ли работать такой сокет с виртуальным хостом (локальный апач или арендованный хостинг скажем на sweb)?
Легко. А какая ему разница?

Цитата:
Все мои попытки запустить swf на сервере ни к чему не привели.
Сервер тотже, на котором и лежит swf? crossdomain? Посмотри сниффером, чего происходит.

Цитата:
останавливается именно на шаге коннекта к серверу
Сниффером смотри

Цитата:
Socket флэша предназначен для взаимодействия с сокет-сервером
А в свою очередь сокет-сервер - это любой демон, который висит на порту. На перле демон пишется за 20 строк.

Цитата:
Где берутся или как пишутся сокет-серверы?
Берется учебник по сетевому программированию, где все это описывается. На (почти) любом языке программирования.

Цитата:
Есть еще FlashRemoting, AMFPHP про них почитайте
Читал. Так и не понял, для чего они, если есть raw socket

Старый 15.11.2007, 22:46
komar вне форума Посмотреть профиль Отправить личное сообщение для komar Найти все сообщения от komar
  № 10  
Ответить с цитированием
komar

Регистрация: 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.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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