
15.12.2011, 15:48
|
|
Регистрация: Nov 2004
Сообщений: 58
|
Поддержка актуальности SharedObject на FMS
Привет, золотые умы!
Я делаю видео-чат. У меня есть FMS. На FMS есть SharedObject, к которому подключаются клиенты и регистрируют себя при подключении. Таким образом все клиенты в курсе того кто подключен, но когда клиент отключается, запись в SO о том что он подключен остается.
На стороне клиента я не могу отловить момент выключения - закрыли окно и все тут. А все остальные думают что клиент жив.
Логично сотворить некий ping которым они будут перебрасываться. Например клиент с некой периодичностью опрашивает всех из списка, если кто-то не отвечает - выпиливает его из списка клиентов. Но если каждый клиент будет этим заниматься, количество перекрестных запросов будет увеличиваться с каждым клиентом в геометрической прогрессии, а это не ок.
Тогда я подумал об аналоге суперноды, один из клиентов наделенный функцией суперноды пингует всех. Вроде все ок, но что случится если супернода отключится? Хаос и анархия?
Как оставшиеся ноды разберутся кто из них у руля?
Помогите.
Писать код на стороне сервера нет никакого желания. Для меня это ад. И интересно именно реализация всего в одном клиенте.
|