Sobes.tech
Junior — Middle

Milliseid tööriistu või tehnoloogiaid kasutasite võrgusiseseks koostööks?

sobes.tech AI

Vastus AI-lt

Kübervõrgu suhtluse korraldamiseks C/C++-is kasutatakse sageli järgmisi tööriistu ja tehnoloogiaid:

  • Soketid (sockets) — põhimehhanism andmete vahetamiseks võrgus. Unix-sarnastes süsteemides kasutatakse POSIX-sokete, Windowsis — Winsock.
  • Kõrgema taseme teegid — näiteks Boost.Asio, mis lihtsustab asünkroonset sisend/väljundit ja võrguprotokolle.
  • Andmeedastuse protokollid — TCP usaldusväärseks edastuseks, UDP kiireks, kuid vähem usaldusväärseks.
  • RPC (Remote Procedure Call) — funktsioonide kutsumiseks kaugmasinates.

Näide TCP-soketi loomise kohta C++-is (lihtsustatud):

#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);
// Edasi andmete vahetamine client_sock kaudu
close(client_sock);
close(sock);