---
title: Протоколы
seo:
  title: Протоколы — C++ Developer
  description: Тема «Протоколы» для собеседования C++ Developer. Какая разница между TCP и UDP? Для чего нужен такой ненадежный UDP-протокол?
---

[Все темы C++ Developer](/c-developer)

## <strong>Какая разница между</strong> <code>TCP</code> <strong>и</strong> <code>UDP</code><strong>?</strong> [#q-14bee738d69b8121908aebdade43f852]

<strong>Между протоколами</strong> <code>TCP</code> <strong>и</strong>
<code>UDP</code> <strong>есть существенная разница&#58;</strong>

#### <code>TCP</code>&#58;

- Надёжный поток байтов с контролем порядка и повторной передачей потерь. Соединение может завершиться ошибкой, поэтому доставка при любом сбое не гарантирована.

- <strong>Ориентированный на соединение</strong>&#58; Устанавливает соединение
  перед передачей данных.

- <strong>Контроль ошибок</strong>&#58; Восстанавливает потерянные данные и
  соблюдает порядок передачи.

#### <code>UDP</code>&#58;

- <strong>Ненадёжный</strong>&#58; Не гарантирует доставку данных.

- <strong>Без соединения</strong>&#58; Передаёт данные без установления
  соединения.

- <strong>Меньше накладных расходов</strong>&#58; Быстрее, подходит для
  приложений, где важна скорость, а не надёжность (например, видеостриминг).

:::note[Ссылки для изучения]

1. [Гайд начинающему сетевому программисту](https://habr.com/ru/articles/582370/)
   :::

---

## <strong>Для чего нужен такой ненадежный</strong> <code>UDP</code><strong>-протокол?</strong> [#q-14bee738d69b817e860ed2f7dd986a64]

<code>UDP</code>-протокол используется для приложений, где важна скорость и
минимальные задержки, а не надёжность, таких как видеостриминг, онлайн-игры и
голосовые вызовы.

:::note[Ссылки для изучения]

1. [Гайд начинающему сетевому программисту](https://habr.com/ru/articles/582370/)
   :::
