Форум 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 21:08

Спс большое. Вроде немного прояснилось в голове...
Значит все функции по контролю подключенных flash'ей на клиентах и оповещению остальных о новом юзере ложится на серверное приложение. Я правильно впиливаю?
Там надо хранить все активные connection'ы и при появлении нового рассылать им сообщение, а уж они там по получении пусть делают, что положено...

P.S. А чё делать, если клиент браузер закрыл? Сокет закроется и на сервере будет у listener'а событие disconnect?

DeliMIter 12.07.2009 21:17

В чём разница между клиентом и сервером? Сервер позволяет клиентам открывать соединение, а клиент может запрашивать соединение с сервером. Т.е. сервер по собственному желанию соединиться с клиентом не может.

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

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

Ответ на последний вопрос: что произойдёт на сервере если пользователь закроет браузер с клиентом, мы не знаем, это зависит исключительно от сервера.

IDmitry 13.07.2009 12:38

Угу, к примеру, простые реализации не распознают статус разрыва - просто проверяют - есть или нет. А более совершенные распознают не только обрыв - ERROR, но еще и подсобытие - CLIENT_DISCONNECT, SESSION_END, IOEXCEPTION, TIMEOUT и т.д., то есть на сервере можно сделать обработку в зависимости от кода разрыва.

Oxy_Naum 13.07.2009 12:58

Спасибо, народ! Супер как прояснилось в голове! :-)
Я думаю, на C# все эти события можно поймать в стандартном Socket-объекте...

Короче, я так понимаю, сокет - это такой кальян - одна стойка с дымом и куча трубочек. Кто подключился - может в любой момент получить дозу :-)))) Но без дымилки трубочка бесполезна... :-)))))))

P.S. А можно ли использовать уже открытые в системе порты для обмена данными? Например, C#-app посылает на клиентский IP на системный открытый порт (ну, не знаю, для какой-нить ненужной фигни вроде SSL), a flash его получает.... Или опять у меня салат в башке? :-\

Foli 13.07.2009 18:18

Цитата:

Сообщение от Oxy_Naum (Сообщение 835069)
Спасибо, народ! Супер как прояснилось в голове! :-)
Я думаю, на C# все эти события можно поймать в стандартном Socket-объекте...

Короче, я так понимаю, сокет - это такой кальян - одна стойка с дымом и куча трубочек. Кто подключился - может в любой момент получить дозу :-)))) Но без дымилки трубочка бесполезна... :-)))))))

P.S. А можно ли использовать уже открытые в системе порты для обмена данными? Например, C#-app посылает на клиентский IP на системный открытый порт (ну, не знаю, для какой-нить ненужной фигни вроде SSL), a flash его получает.... Или опять у меня салат в башке? :-\

Читаю тред и плачу. :umnik2:
Oxy_Naum, что у вас за тип проекта на C#? Desktop или WEB где работает ваш листнер?

Oxy_Naum 15.07.2009 12:23

У меня корпоративная web-application. Клиенты в браузере должен получать real-time реакцию на события на сервере. Желательно REAL-time, а не "частый запрос по таймеру" типа ajax'а. Вот и думали сделать это или ActiveX'ом или Flash'ем, который будет слушать сокет...

P.S. Foli, а за шо Вы так плакали? За мою тупость про сокеты или за кальян? ;-)

Foli 17.07.2009 16:17

Цитата:

Сообщение от Oxy_Naum (Сообщение 835579)
У меня корпоративная web-application. Клиенты в браузере должен получать real-time реакцию на события на сервере. Желательно REAL-time, а не "частый запрос по таймеру" типа ajax'а. Вот и думали сделать это или ActiveX'ом или Flash'ем, который будет слушать сокет...

P.S. Foli, а за шо Вы так плакали? За мою тупость про сокеты или за кальян? ;-)

Oxy_Naum, я повторюсь. :umnik2: Что у вас за тип проекта на C#? Desktop или WEB где работает ваш листнер? Потому как вы писали:

Цитата:

Сообщение от Oxy_Naum
У меня на C# нормально listener написан - открывает, сидит, слушает, получает...



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

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