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

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 15.12.2011, 15:48
TheBird вне форума Посмотреть профиль Отправить личное сообщение для TheBird Посетить домашнюю страницу TheBird Найти все сообщения от TheBird
  № 1  
Ответить с цитированием
TheBird
 
Аватар для TheBird

Регистрация: Nov 2004
Сообщений: 58
Отправить сообщение для TheBird с помощью ICQ
По умолчанию Поддержка актуальности SharedObject на FMS

Привет, золотые умы!

Я делаю видео-чат. У меня есть FMS. На FMS есть SharedObject, к которому подключаются клиенты и регистрируют себя при подключении. Таким образом все клиенты в курсе того кто подключен, но когда клиент отключается, запись в SO о том что он подключен остается.
На стороне клиента я не могу отловить момент выключения - закрыли окно и все тут. А все остальные думают что клиент жив.

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

Тогда я подумал об аналоге суперноды, один из клиентов наделенный функцией суперноды пингует всех. Вроде все ок, но что случится если супернода отключится? Хаос и анархия?
Как оставшиеся ноды разберутся кто из них у руля?

Помогите.
Писать код на стороне сервера нет никакого желания. Для меня это ад. И интересно именно реализация всего в одном клиенте.

Старый 15.12.2011, 15:53
Genzo вне форума Посмотреть профиль Отправить личное сообщение для Genzo Посетить домашнюю страницу Genzo Найти все сообщения от Genzo
  № 2  
Ответить с цитированием
Genzo
 
Аватар для Genzo

блогер
Регистрация: Feb 2010
Адрес: MSK
Сообщений: 859
Записей в блоге: 3
Отправить сообщение для Genzo с помощью ICQ Отправить сообщение для Genzo с помощью Skype™
Лучшая реализация тут, это на сервере ловить событие Disconnect
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works.

Старый 15.12.2011, 15:54
TheBird вне форума Посмотреть профиль Отправить личное сообщение для TheBird Посетить домашнюю страницу TheBird Найти все сообщения от TheBird
  № 3  
Ответить с цитированием
TheBird
 
Аватар для TheBird

Регистрация: Nov 2004
Сообщений: 58
Отправить сообщение для TheBird с помощью ICQ
Ну я же не спроста написал последнюю строчку в посте )))

Старый 15.12.2011, 15:59
Genzo вне форума Посмотреть профиль Отправить личное сообщение для Genzo Посетить домашнюю страницу Genzo Найти все сообщения от Genzo
  № 4  
Ответить с цитированием
Genzo
 
Аватар для Genzo

блогер
Регистрация: Feb 2010
Адрес: MSK
Сообщений: 859
Записей в блоге: 3
Отправить сообщение для Genzo с помощью ICQ Отправить сообщение для Genzo с помощью Skype™
При ваших методах реализации, это будет какая-то эмуляция p2p...

Добавлено через 46 секунд
зы : FMS имеет свой скриптовый язык очень схожий с AS 2.0, т.к. проблем там не должно возникнуть.
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works.

Старый 15.12.2011, 16:01
TheBird вне форума Посмотреть профиль Отправить личное сообщение для TheBird Посетить домашнюю страницу TheBird Найти все сообщения от TheBird
  № 5  
Ответить с цитированием
TheBird
 
Аватар для TheBird

Регистрация: Nov 2004
Сообщений: 58
Отправить сообщение для TheBird с помощью ICQ
Вот именно! Я хочу эмулировать p2p )

Старый 15.12.2011, 16:06
fish_r вне форума Посмотреть профиль Отправить личное сообщение для fish_r Посетить домашнюю страницу fish_r Найти все сообщения от fish_r
  № 6  
Ответить с цитированием
fish_r
 
Аватар для fish_r

блогер
Регистрация: Jan 2011
Сообщений: 1,162
Записей в блоге: 4
А если использовать не нод, а цепочку. Вроде эстафеты?

Старый 15.12.2011, 16:06
Genzo вне форума Посмотреть профиль Отправить личное сообщение для Genzo Посетить домашнюю страницу Genzo Найти все сообщения от Genzo
  № 7  
Ответить с цитированием
Genzo
 
Аватар для Genzo

блогер
Регистрация: Feb 2010
Адрес: MSK
Сообщений: 859
Записей в блоге: 3
Отправить сообщение для Genzo с помощью ICQ Отправить сообщение для Genzo с помощью Skype™
Тогда по стандарту : клиентский сервер -> клиенты. клиентский сервер ушел в оффлайн, всех дисконект.
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works.

Старый 15.12.2011, 16:16
TheBird вне форума Посмотреть профиль Отправить личное сообщение для TheBird Посетить домашнюю страницу TheBird Найти все сообщения от TheBird
  № 8  
Ответить с цитированием
TheBird
 
Аватар для TheBird

Регистрация: Nov 2004
Сообщений: 58
Отправить сообщение для TheBird с помощью ICQ
fish_r Тогда как инициализировать цепочку?
Идея интересная

Добавлено через 1 минуту
Genzo всех дисконект - это не наш метод )

Старый 15.12.2011, 16:30
Genzo вне форума Посмотреть профиль Отправить личное сообщение для Genzo Посетить домашнюю страницу Genzo Найти все сообщения от Genzo
  № 9  
Ответить с цитированием
Genzo
 
Аватар для Genzo

блогер
Регистрация: Feb 2010
Адрес: MSK
Сообщений: 859
Записей в блоге: 3
Отправить сообщение для Genzo с помощью ICQ Отправить сообщение для Genzo с помощью Skype™
Тогда цепочкой либо по "стоимости" клиента сортировать ее, либо по времени подключения.
Клиент подключился, смотрит если ли сервер, если да то посылает ему : "я подключился", сервер записывает его в список, клиенты с периодичностью пингуют сервер, если он не ответил записывают новый сервер, по логике выбранной выше и т.п., но это очень не правильная реализация когда клиенты выбирают кто сервер, т.к. любой клиент может поменять сервер.
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works.

Старый 15.12.2011, 16:41
TheBird вне форума Посмотреть профиль Отправить личное сообщение для TheBird Посетить домашнюю страницу TheBird Найти все сообщения от TheBird
  № 10  
Ответить с цитированием
TheBird
 
Аватар для TheBird

Регистрация: Nov 2004
Сообщений: 58
Отправить сообщение для TheBird с помощью ICQ
Genzo спасибо, попробую )

Создать новую тему Ответ Часовой пояс GMT +4, время: 03:00.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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