Sobes.tech
Junior — Middle

Тармактык өз ара аракеттенүүнү уюштурууда кайсы аспаптар же технологияларды колдондуңуз?

sobes.tech AI

AIден жооп

C/C++ тилдеринде тармактык өз ара аракетти уюштурууда көбүнчө төмөнкү инструменттер жана технологиялар колдонулат:

  • Сокеттер (sockets) — тармак аркылуу маалымат алмашуу үчүн негизги механизм. Unix-подобных системаларда POSIX сокеттер колдонулат, Windowsта — Winsock.
  • Жогорку деңгээлдеги китепканалар — мисалы, Boost.Asio, ал асинхрон киргизүү/чыгаруу жана тармактык протоколдор менен иштөөнү жеңилдетет.
  • Маалымат берүү протоколдору — TCP ишенимдүү берүү үчүн, UDP тез, бирок азыраак ишенимдүү.
  • RPC (Remote Procedure Call) — алыстагы машиналарда функцияларды чакырууга.

C++та TCP сокет түзүүнүн мисалы (жөнөкөйлөштүрүлгөн):

#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);
// Андан соң, маалымат алмашуу client_sock аркылуу
close(client_sock);
close(sock);