Sobes.tech
Junior — Middle

Milyen eszközöket vagy technológiákat alkalmazott a hálózati interakció szervezésére?

sobes.tech MI

Válasz az MI-től

A hálózati kommunikáció szervezéséhez C/C++-ban gyakran használják a következő eszközöket és technológiákat:

  • Socketek (sockets) — alapvető mechanizmus az adatok hálózaton keresztüli cseréjéhez. Unix-szerű rendszerekben POSIX-socketeket, Windowsban — Winsock-ot használnak.
  • Magas szintű könyvtárak — például Boost.Asio, amely megkönnyíti az aszinkron bemenet/kimenet és a hálózati protokollok kezelését.
  • Adatátviteli protokollok — TCP a megbízható átvitelt, UDP a gyors, de kevésbé megbízható átvitelt biztosít.
  • RPC (Távoli eljárás hívás) — funkciók hívására távoli gépeken.

Példa egy TCP socket létrehozására C++-ban (egyszerűsített):

#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);
// Ezután adatcsere a client_sock segítségével
close(client_sock);
close(sock);