Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   Flash и ASP.NET (http://www.flasher.ru/forum/showthread.php?t=120922)

IYAKOV 03.02.2009 01:09

Flash и ASP.NET
 
Поправте, пожалуйста, и дополните, если что неправильно понято мною:

Существует несколько средств взаимодействия серверной части (в н.с. asp.net) и клиентской (т.б. flash):

1.Это класс LoadVars, XML, которые позволяет
--получить изнутри flash переменные для нее из тэга <object>\<embed>, формируемые при рендеринге html страницы
--отправить запрос на сервер, в строке url которого будут отсылаемые из flash переменные

При получении\отправке интернет-страница перегружается.

2.В AS'е для вызова внешних функций существуют
--процедура fscommand и
--класс ExternalInterface.

Но как я понимаю они могут вызывать только JavaScript функции. И тут страница не перегружается так как JavaScript находится на стороне клиента. Но тогда(например) код, взаимодействующий с сервером должен быть написан на Javascript.

3. Для установки связи с сервером напрямую из swf можно использовать класс (XML-)Socket.
Тут есть неприятность при использовании firewalls и т.п.

может ли для испльзования сокетов подойти ASP.NET(Web Service)? или нужно чтото другое?

4. какие еще возможности есть по взаимодействию flash и asp.net?

mre 03.02.2009 12:35

Не совсем так.

Основные виды взаимодействия с сервером:

1) Flashvars. Данные передаются во флеш один раз при загрузке страницы. Чтобы получить другие - нужно перегрузить страницу.

2) Запрос-ответ (AS2 - LoadVars, AS3 - URLRequest). Перезагрузки страницы не требует. Чтобы получить новые данные, нужно сделать новый запрос (аналог ajax).

3) Socket. Устанавливается постоянное соединение с сервером, таким образом, сервер не только реагирует на запросы клиента, но и сам может посылать клиенту данные в зависимости от каких-либо условий (например, при получении данных от другого подключенного клиента) пока поддерживается подключение. Актуально для чатов, online игр и т.п.

IYAKOV 03.02.2009 18:17

Цитата:

Сообщение от mre (Сообщение 795212)
2) Запрос-ответ (AS2 - LoadVars, AS3 - URLRequest). Перезагрузки страницы не требует. Чтобы получить новые данные, нужно сделать новый запрос (аналог ajax).

новые данные? т.е. я смогу обратится к серверу? или только получить данные которые находятся в URL и к переменным для flash из <object>\<embed> и к каким то нибыло данным на компьютере клиента?

спасибо, mre

mre 03.02.2009 18:26

Сможете обратиться к серверу.

IYAKOV 04.02.2009 00:15

Для связи с сервером, если это .NET WebService, можно использовать компонент WebServiceConnector. Скажите, на сколько такое решение лучше или хуче, чем решения предложенные выше?

mre 04.02.2009 12:27

Для WebService конечно WebServiceConnector :)

IYAKOV 04.02.2009 15:37

Подскажите, пожалуйста, в чем могут быть проблеммы при выкладывании на сервер флешки, использующую WebService?
Локально всё работает. В интернете - нет. Даже если локально запустить флешку через браузер (запустить html, генирируемый при опубликовании), тоже не работает. Похоже, что какието настройки я не провел...

gizma.vrn 04.02.2009 20:01

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

IYAKOV 04.02.2009 22:20

нет! ну так же не бывает, чтобы при тестировании клипа (Ctrl+Enter) всё работает, а если запустить этот же файл (тот что генирируется после Ctrl+Enter) - не работает!!
не ужели у меня такие кривые руки... все гайды и тексты что я прочитал - у всех работает, ну и у меня тоже работает, но только при тестировании...

mre 05.02.2009 12:39

Изучайте это.

IYAKOV 06.02.2009 23:41

Цитата:

Сообщение от mre (Сообщение 795745)
Изучайте это.

да, документик помог при публикации флешки в интернете при использовании URLRequest\URLLoader. Но от WebService'ов попрежнему не могу ничего добится. может тут дело не в самой флешке?
Нашел как логировать веб сервис. Вот что получилось:
Код:

2/6 21:35:44 [INFO] : Queing call GetPosts
2/6 21:35:44 [INFO] : Faulting previously queued call GetPosts

fault.faultstring=Could not load WSDL
fault.faultcode=Client.Disconnected
fault.detail=Unable to load WSDL, if currently online, please verify the URI and/or format of the WSDL (http://game.qsh.be/Service.asmx?wsdl)
fault.faultactor=undefined
fault.element=undefined

в output выводит фразу Error opening URL 'http://game.qsh.be/Service.asmx?wsdl'
локально работает и выводит следующее:
Код:

2/5 12:17:15 [INFO] : Queing call GetPosts
2/5 12:17:15 [INFO] : Made SOAPCall for operation GetPosts
2/5 12:17:15 [INFO] : Made SOAPCall for operation AddPost
2/5 12:17:15 [INFO] : Invoking previously queued call GetPosts
2/5 12:17:15 [INFO] SOAP: Asynchronously invoking SOAPCall: GetPosts
[далее возвращаемый результат из вебсервиса]


7thsky™ 07.02.2009 23:31

вы пытались посмотреть что вас ваш webservice в качестве WSDL возвращает? http://game.qsh.be/Service.asmx?wsdl

IYAKOV 08.02.2009 22:48

Цитата:

Сообщение от 7thsky™ (Сообщение 796443)
вы пытались посмотреть что вас ваш webservice в качестве WSDL возвращает? http://game.qsh.be/Service.asmx?wsdl

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

:victory:всем большое спасибо!!! (7thsky™, mre)

wvxvw 08.02.2009 23:03

неправда.

IYAKOV 08.02.2009 23:12

что неправда? я проверял все ...?wsdl на localhost - там все работало и выдавало правильный xml-ник, а интернетовские не проверял...
теперь все работает! вот смотри, wvxvw:
http://serverpadla.qsh.be/test_2.5.html

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

wvxvw 09.02.2009 04:58

Там раньше была строчка про вебсервисы и 9-й плеер, это я про них говорил.

IYAKOV 09.02.2009 09:34

Цитата:

Сообщение от IYAKOV (Сообщение 796270)
... Но от WebService'ов попрежнему не могу ничего добится. может тут дело не в самой флешке?...

вот про это?
если да, то многоли ещё таких особенностей флеш?
если нет, то про какой пост?


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

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