Sobes.tech
Junior — Middle

Jaké nástroje nebo technologie jste použili k organizaci síťové interakce?

sobes.tech AI

Odpověď od AI

Pro organizaci síťové komunikace v C/C++ se často používají následující nástroje a technologie:

  • Sokety (sockets) — základní mechanismus pro výměnu dat přes síť. V systémech podobných Unixu se používají POSIX sokety, ve Windows — Winsock.
  • Knihovny vysoké úrovně — například Boost.Asio, která zjednodušuje práci s asynchronním vstupem/výstupem a síťovými protokoly.
  • Protokoly přenosu dat — TCP pro spolehlivý přenos, UDP pro rychlý, ale méně spolehlivý přenos.
  • RPC (Remote Procedure Call) — pro volání funkcí na vzdálených strojích.

Příklad vytvoření 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ásledně výměna dat přes client_sock
close(client_sock);
close(sock);