Различные приложения TCP и UDP - PullRequest
0 голосов
/ 13 февраля 2020

В одном из моих занятий мы проходили через TCP и UDP. В целом, я понимаю фундаментальную разницу.

  • TCP использует 3-х стороннее рукопожатие, управление перегрузкой, управление потоком и другие механизмы для обеспечения надежной передачи.
  • UDP в основном используется в случаи, когда задержка пакета более серьезна, чем потеря пакета для сетевого обработчика, который отправляет данные игрока, потому что скорость наиболее важна для ведения конкурентной онлайн-игры, основанной на рефлексах.

    Имеет ли это смысл? Или я слишком много обобщаю проблемы?


    Вопрос:

    TCP и UDP. Онлайн игра - игра-стрелялка от первого лица, где реальные игроки сражаются друг с другом с оружием в 5 против 5 матчей. Вы отвечаете за две функции:

    • реализация голосового чата в реальном времени,
    • сетевые обработчики, которые отправляют данные игрока от клиентов конечного пользователя на ваши выделенные центральные серверы

    Какие протоколы вы используете для каждого и почему?

1 Ответ

0 голосов
/ 13 февраля 2020

С TCP устройства в конечных точках должны установить sh соединение через «рукопожатие» перед отправкой любых данных. TCP также использует управление потоком, порядковые номера, подтверждения и таймеры для обеспечения надежной передачи данных. Управление перегрузкой также используется TCP для настройки скорости передачи. Реализация вышеупомянутых механизмов требует временных затрат.

UDP, с другой стороны, практически ничего не делает, кроме мультиплексирования / демультиплексирования и простой проверки ошибок.

Приложениям реального времени часто требуется минимальный битрейт и может терпеть некоторую потерю данных. В вашем примере для голосового чата в реальном времени более важно, чтобы пользователи слышали друг друга без задержки, даже если несколько миллисекунд не слышны. Сетевые обработчики, которые отправляют данные игрока на сервер, должны использовать TCP, потому что надежность данных там жизненно важна.

...