Junior — Middle
Que ferramentas ou tecnologias você utilizou para organizar a interação em rede?
sobes.tech IA
Resposta da IA
Para organizar a interação de rede em C/C++, frequentemente utilizam-se as seguintes ferramentas e tecnologias:
- Sockets — mecanismo básico para troca de dados através da rede. Em sistemas semelhantes ao Unix, usam-se sockets POSIX, no Windows — Winsock.
- Bibliotecas de alto nível — por exemplo, Boost.Asio, que simplifica o trabalho com entrada/saída assíncrona e protocolos de rede.
- Protocolos de transmissão de dados — TCP para transmissão confiável, UDP para rápida, mas menos confiável.
- RPC (Chamada de Procedimento Remoto) — para invocar funções em máquinas remotas.
Exemplo de criação de um socket TCP em C++ (simplificado):
#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);
// Depois, troca de dados através de client_sock
close(client_sock);
close(sock);