Junior — Middle
თქვენ გაქვთ პრაქტიკული გამოცდილება ქსელური პროტოკოლებისა და ინფრასტრუქტურის მუშაობაში?
sobes.tech AI
პასუხი AI-სგან
დიახ, ქსელური პროტოკოლებისა და ინფრასტრუქტურის პრაქტიკული გამოცდილება მოიცავს TCP/IP, UDP, HTTP მსგავსი პროტოკოლების გაგებას და გამოყენებას, ასევე ქსელური კავშირების კონფიგურაციას და შეცდომების გადაჭრას.
მაგალითად, C/C++-ში სოკეტების გამოყენებით შეიძლება შექმნათ კლიენტი-სერვერი აპლიკაციები:
#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 << "სოკეტის შექმნის შეცდომა" << std::endl;
return 1;
}
sockaddr_in server_addr{};
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(80); // 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 << "დაკავშირების შეცდომა" << 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;
}
ეს გამოცდილება ეხმარება გაგებას, თუ როგორ გადაეცემა მონაცემები ქსელით, როგორ იქმნება კავშირები და როგორ მართავენ შეცდომებს.