Sobes.tech
Junior — Middle

Tarmoq o'zaro ta'sirini tashkil qilish uchun qanday asboblar yoki texnologiyalarni qo'lladingiz?

sobes.tech AI

AIdan javob

C/C++ dasturlash tilida tarmoq o'zaro ta'sirini tashkil qilish uchun ko'pincha quyidagi vositalar va texnologiyalar ishlatiladi:

  • Soketlar (sockets) — tarmoq orqali ma'lumot almashish uchun asosiy mexanizm. Unixga o'xshash tizimlarda POSIX soketlari, Windowsda — Winsock ishlatiladi.
  • Yuqori darajadagi kutubxonalar — masalan, Boost.Asio, bu asinxron kirish/chiqishni va tarmoq protokollarini ishlashni soddalashtiradi.
  • Ma'lumot uzatish protokollari — TCP ishonchli uzatish uchun, UDP esa tez, lekin kamroq ishonchli.
  • RPC (Remote Procedure Call) — uzoqdagi mashinalarda funksiyalarni chaqirish uchun.

C++da TCP soket yaratish misoli (soddalashtirilgan):

#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);
// Keyin, ma'lumot almashish client_sock orqali
close(client_sock);
close(sock);