Задать вопрос
ese
@ese
Front-end developer

Как реализовать правильную обработку пакетов MMO сервера?

Добрый день, в настоящее время занимаюсь разработкой MMO игры, клиент на Unity, сервер на Java. Транспорт данных от клиента к серверу решили реализовать своими силами. Используем сокеты (TCP).
Алгоритм рассылки данных простой, во время движения игрок оповещает сервер о изменение своих координат, сервер транслирует событие на всех остальных игроков.
Проблема в следующем. Допустим, клиент 1 отправил клиенту 2 30 сообщений за 1 секунду, клиент 2 смог принять только 15 сообщений за 1 секунду, и остальные 15 сообщений уже не актуальны, т.к. клиент 1 отправил за это время новые данные. Но, так как используется TCP данные будут приходить и клиент 2 будет тратить ресурсы и время на их получение.
Как лучше построить архитектуру транспорта данных? Использовать формат "запрос - ответ" для того чтобы сервер знал о том, что клиент получил сообщение и можно отправлять следующее актуальное сообщение ?
  • Вопрос задан
  • 2672 просмотра
Подписаться 2 Оценить Комментировать
Ответ пользователя Egor К ответам на вопрос (2)
ese
@ese Автор вопроса
Front-end developer
Да я спокоен, в школе отучился, университет закончил, 10 лет отработал. Я клиент пишу, а не сервер. Серверный код уже переписывают на UDP.
Ответ написан
Комментировать