Sobes.tech
Junior — Middle

Έχετε πρακτική εμπειρία στην εργασία με πρωτόκολλα δικτύου και υποδομές;

sobes.tech AI

Απάντηση από AI

Ναι, η πρακτική εμπειρία με πρωτόκολλα δικτύου και υποδομές περιλαμβάνει την κατανόηση και χρήση πρωτοκόλλων όπως TCP/IP, UDP, HTTP, καθώς και τη διαμόρφωση και αποσφαλμάτωση δικτυακών συνδέσεων.

Για παράδειγμα, σε C/C++ μπορούν να χρησιμοποιηθούν οι υποδοχές (sockets) για τη δημιουργία εφαρμογών πελάτη-διακομιστή:

#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 << "Σφάλμα στη δημιουργία socket" << std::endl;
        return 1;
    }

    sockaddr_in server_addr{};
    server_addr.sin_family = AF_INET;
    server_addr.sin_port = htons(80); // HTTP port
    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 << "Σφάλμα σύνδεσης" << 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;
}

Αυτού του είδους η εμπειρία βοηθά στην κατανόηση του πώς μεταδίδονται τα δεδομένα μέσω του δικτύου, πώς δημιουργούνται οι συνδέσεις και πώς διαχειρίζονται τα σφάλματα.