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

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

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

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

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

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

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