Sobes.tech
Junior — Middle

Aveți experiență practică în lucrul cu protocoale de rețea și infrastructură?

sobes.tech AI

Răspuns de la AI

Da, experiența practică cu protocoalele de rețea și infrastructură include înțelegerea și utilizarea unor protocoale precum TCP/IP, UDP, HTTP, precum și configurarea și depanarea conexiunilor de rețea.

De exemplu, în C/C++ se pot folosi socket-uri pentru a crea aplicații client-server:

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

int main() {
    int sock = socket(AF_INET, SOCK_STREAM, 0);
    if (sock < 0) {
        std::cerr << "Eroare la crearea socket-ului" << std::endl;
        return 1;
    }

    sockaddr_in server_addr{};
    server_addr.sin_family = AF_INET;
    server_addr.sin_port = htons(80); // port HTTP
    inet_pton(AF_INET, "93.184.216.34", &server_addr.sin_addr); // example.com

    if (connect(sock, (sockaddr*)&server_addr, sizeof(server_addr)) < 0) {
        std::cerr << "Eroare de conectare" << std::endl;
        close(sock);
        return 1;
    }

    const char* http_request = "GET / HTTP/1.1\r\nHost: example.com\r\n\r\n";
    send(sock, http_request, strlen(http_request), 0);

    char buffer[1024];
    int bytes_received = recv(sock, buffer, sizeof(buffer) - 1, 0);
    if (bytes_received > 0) {
        buffer[bytes_received] = '\0';
        std::cout << buffer << std::endl;
    }

    close(sock);
    return 0;
}

Astfel de experiențe ajută la înțelegerea modului în care datele sunt transmise prin rețea, cum se stabilesc conexiunile și cum se gestionează erorile.