Регистрация: Feb 2008
Сообщений: 890
|
Разработка многопользовательских онлайн-игр
Здесь будет обсуждение всяких нюансов и трудностей, с которыми сталкиваются разработчики больших игровых онлайновых проектов (логика, архитектура, нагрузки).
Причастные к таким проектам люди, очень интересует ваш бесценный опыт и знания - надеюсь, вы готовы ими поделиться)))
Начну, пожалуй, с малого - с игрового чата.
Как реализуется обновление таблицы пользователей в онлайне? Каждый раз, когда список пользователей меняется, по сокету кидается вся таблица пользователей (если 200 пользователей в пределах актуальной видимости чата, то по хмл-сокету летает хмл-ка порядка 50(+-) килобайт), или же это какие-то систематические интервальные рассылки? Или если не вся таблица, а конкретно, кто пришел или ушел, то боретесь ли вы с коллизиями, могущими возникнуть в случае, если кому-то что-то не дошло?
Добавлено через 8 минут
А можно ли предположить, что если сокет жив, то пакет гарантированно будет доставлен до адресата? Если да, то можно гонять не всю таблицу, а только инфу о том, что кто-то пришел или ушел, а в случае разрыва соединения при повторной установке сокетного соединения получать всю таблицу пользователей как при инициализации чата. Где при такой схеме могут возникнуть коллизии, связанные с неполучением данных адресатом? Какие еще могу возникнуть проблемы?
__________________
скриптограф
|