Sobes.tech
Назад к вопросам
Intern — Junior
99

Имел ли опыт работы с протоколом UDP в своих проектах?

Компании, где спрашивали
А-стор
МТСМТС

Ответ от нейросети

sobes.tech AI

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

В проектах на C/C++ UDP используется для приложений, где важна скорость и низкая задержка, например, в играх или потоковой передаче данных.

Пример простого UDP-клиента на C++:

#include <iostream>
#include <cstring>
#include <arpa/inet.h>
#include <sys/socket.h>

int main() {
    int sock = socket(AF_INET, SOCK_DGRAM, 0);
    if (sock < 0) {
        std::cerr << "Ошибка создания сокета" << std::endl;
        return 1;
    }

    sockaddr_in server_addr{};
    server_addr.sin_family = AF_INET;
    server_addr.sin_port = htons(12345);
    inet_pton(AF_INET, "127.0.0.1", &server_addr.sin_addr);

    const char* message = "Привет, UDP сервер!";
    sendto(sock, message, strlen(message), 0, (sockaddr*)&server_addr, sizeof(server_addr));

    close(sock);
    return 0;
}

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