Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   Можно ли сделать на Flash'е socket listener? (http://www.flasher.ru/forum/showthread.php?t=127369)

Oxy_Naum 12.07.2009 15:17

Можно ли сделать на Flash'е socket listener?
 
Чтоб при загрузке открывал локальный порт, слушал его всё время и по получении данных выполнял JS функцию.
Чё-то не получается... :-(

Заранее спс.

P.S. А нужны ли будут политики для локального порта?

DeliMIter 12.07.2009 15:43

Нет. Флэш - клиентская платформа, не серверная.

Oxy_Naum 12.07.2009 15:54

Так на клиенте ж! Никуда ходить не надо - сиди, слушай... А сервер тебе пошлет...
Что, совсем-совсем никак? :-(
А как чаты делают? Они что, по таймеру на сервер за новыми сообщениями ходят?

IDmitry 12.07.2009 17:14

Ты ж сам себя "завалил" -
Цитата:

Сообщение от Oxy_Naum (Сообщение 834827)
Чтоб при загрузке открывал локальный порт ...

А что до остального - делай незакрываемое соединение и сиди слушай порт :), сервер пришлет пакет - обрабатывай и выводи хоть во флеше, хоть на страницу через js.

Oxy_Naum 12.07.2009 17:42

Не делает connect с закрытым портом. А как его открыть? У меня на C# нормально listener написан - открывает, сидит, слушает, получает...
А как так сделать на Flash? Там есть только connect, а он для закрытого порта не проходит... Обясните, плз, не-Flash программеру! Потому как на C# это две разные логики - "послать и закрыть" (connect/send) или "сидеть и слушать" (bind/listen). А тута тока connect... Не впиливаю я чего-то.... :-(

wvxvw 12.07.2009 18:25

Флеш не может слушать порт, только посылать и получать.

Oxy_Naum 12.07.2009 18:52

Мля! Полный конец обеда! :-((((
Т.е. если мне надо real-time реакция клиента на событие на сервере, то фигу? Тока через таймерный запрос (раз в...)?

wvxvw 12.07.2009 19:47

Вы понимаете разницу между коннектится и слушать?

Слушать порт - это значит, что все то время, что флеш открыт, на системе, где он открыт все запросы к конкретному порту будут уходить слушателю - флешу. Вы понимаете, что код скачаный из интернета ну никак не может обладать такими свойствами? Флеш может только пытаться коннектится к порту, но никак не перекрывать трафик на этом порту...

Oxy_Naum 12.07.2009 20:13

ОК. Пнятно... Спс за разъяснение, а то я чё-то плаваю... :-( Кто к комуконнектится и кто кому должен посылать....
Так что, real-time никак не сделать? Мне надо реакция на серверное событие... Ну, например, как в чате - кто-то залогонился и надо всплывучку всем показать, как в Messenger'e. Мне кроме периодического запроса в голову ничего не приходит...

P.S. На самом деле, web-application корпоративная, внутреняя, так что порт может быть специально выделен под это дело на каждом клиенте. И firewall раскрыт, как надо. Можно б было listener реализовать чисто на C#, но вся application на web построена и надо бы енто дело интегрировать как-то в браузер... А как - я чё-то не соображу.... :-(

wvxvw 12.07.2009 20:27

Ну... как бы вам это еще сказать:
сокет - это и есть слушатель, т.е. программа, которая запустившись все время опрашивает систему на предмет наличия какой-нибудь информации в порту #... Клиент (Флеш) может послать в этот порт информацию (законнектится), после чего он будет получать сообщения отправленные слушателем и посылать их.


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

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