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);