Показать сообщение отдельно
Старый 04.05.2010, 16:25
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 28  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
что передавать на сервер/на клиент с какой периодичностью
Передавать 1 байт туда-обратно раз в 1 секунду. Измерять время, потраченное байтом на путь туда-сюда. Запоминать это время и делать на него поправку в течение всей следующей секунды (вернее - пока не вернется следующий байт). То есть постоянный пинг-тест.
Таким образом, мы всегда имеем текущий пинг игрока.

Все остальное (сообщения о действиях игрока) отправляем в момент нажатия клавиш на клиенте.

Сервер, получив сигнал о действии клиента, "подписывает" сообщение датой получения (с поправкой на пинг) и рассылает это сообщение всем остальным игрокам.

Клиент обрабатывает полученное сообщение...
Клиент (пользователь) видит изменения на экране.

ЗЫ
так как "подписывание" происходит на сервере, то подделать дату сообщения нереально. Можно подделать пинг, но это мало кого выручит =)
__________________
...вселенская грусть