Sobes.tech
Back to questions
Junior — Middle
84

Какая основная роль и назначение протокола UDP в сетевых коммуникациях?

Companies where asked
МТСМТС

Answer from AI

sobes.tech AI

Протокол UDP (User Datagram Protocol) используется для передачи данных в сетях без установления соединения. Его основная роль — обеспечить быструю и простую доставку пакетов с минимальной задержкой, без гарантии доставки, порядка или целостности.

UDP подходит для приложений, где важна скорость и приемлема потеря некоторых пакетов, например:

  • Видеоконференции и VoIP — задержки критичны, потеря пакетов не всегда заметна.
  • Онлайн-игры — важна скорость обновления состояния.
  • DNS-запросы — короткие запросы и ответы.

В отличие от TCP, UDP не устанавливает соединение, не подтверждает получение и не выполняет повторную передачу, что снижает накладные расходы и задержки.

Пример создания UDP-сокета на C++:

#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

int sock = socket(AF_INET, SOCK_DGRAM, 0);

sockaddr_in addr{};
addr.sin_family = AF_INET;
addr.sin_port = htons(12345);
addr.sin_addr.s_addr = inet_addr("127.0.0.1");

const char* msg = "Hello UDP";
sendto(sock, msg, strlen(msg), 0, (sockaddr*)&addr, sizeof(addr));