Sobes.tech
Junior — Middle

Aké nástroje alebo technológie ste použili na organizáciu sieťovej interakcie?

sobes.tech AI

Odpoveď od AI

Na organizáciu sieťovej komunikácie v C/C++ sa často používajú nasledujúce nástroje a technológie:

  • Sokety (sockets) — základný mechanizmus na výmenu dát cez sieť. V systémoch podobných Unixu sa používajú POSIX sokety, vo Windows — Winsock.
  • Knihovny vysokého úrovňa — napríklad Boost.Asio, ktorá zjednodušuje prácu s asynchrónnym vstupom/výstupom a sieťovými protokolmi.
  • Protokoly prenosu dát — TCP pre spoľahlivý prenos, UDP pre rýchly, ale menej spoľahlivý prenos.
  • RPC (Remote Procedure Call) — na volanie funkcií na vzdialených strojoch.

Príklad vytvorenia TCP socketu v C++ (zjednodušené):

#include <sys/socket.h>
#include <netinet/in.h>
#include <unistd.h>

int sock = socket(AF_INET, SOCK_STREAM, 0);
struct sockaddr_in addr{};
addr.sin_family = AF_INET;
addr.sin_port = htons(8080);
addr.sin_addr.s_addr = INADDR_ANY;
bind(sock, (struct sockaddr*)&addr, sizeof(addr));
listen(sock, 5);
int client_sock = accept(sock, nullptr, nullptr);
// Následne výmena dát cez client_sock
close(client_sock);
close(sock);