Вопрос проверяет знание двух основных транспортных протоколов и понимание, когда и какой из них использовать.
TCP — надёжный протокол с установлением соединения и гарантией доставки, а UDP — простой и быстрый, но без гарантии доставки и порядка. TCP используют, где важна надёжность, а UDP — где важна скорость.
TCP (Transmission Control Protocol):
Устанавливает соединение (handshake).
Гарантирует доставку всех пакетов в правильном порядке.
Подходит для HTTP, FTP, SMTP.
UDP (User Datagram Protocol):
Не устанавливает соединение.
Не гарантирует доставку и порядок.
Быстрее и легче.
Подходит для видеостриминга, DNS, онлайн-игр.
Пример в Go:
// TCP клиент
conn, _ := net.Dial("tcp", "example.com:80")
fmt.Fprintf(conn, "GET / HTTP/1.0\r\n\r\n")
// UDP клиент
conn, _ := net.Dial("udp", "example.com:53")
conn.Write([]byte("data"))Вывод:
TCP — если нужна надёжность.
UDP — если нужна скорость и можно потерять часть данных.