Sobes.tech
Junior — Middle

Avez-vous une expérience pratique dans le travail avec des protocoles réseau et une infrastructure?

sobes.tech IA

Réponse de l'IA

Oui, l'expérience pratique avec les protocoles réseau et l'infrastructure inclut la compréhension et l'utilisation de protocoles tels que TCP/IP, UDP, HTTP, ainsi que la configuration et le débogage des connexions réseau.

Par exemple, en C/C++, on peut utiliser des sockets pour créer des applications client-serveur:

#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 << "Erreur lors de la création du socket" << 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 << "Erreur de connexion" << 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;
}

Ce type d'expérience aide à comprendre comment les données sont transmises sur le réseau, comment les connexions sont établies et comment les erreurs sont gérées.