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));