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.