Socket em C/C++ - CLIENT
Publicado por Krownix 24/11/2005
[ Hits: 10.378 ]
Programa que exemplifica o uso da biblioteca winsock2.h para desenvolver um client em c/c++. Este programa transmite uma string pela rede
#include<iostream>
#include<stdlib.h>
#include<winsock2.h>
using namespace std;
int main(int argc, char *argv[]) {
char str_send[60];
if(argc < 3) { std::cout << "Falta de parametros: " << argv[0] << "<host> <port>" << "\n"; exit(1);}
WSADATA WsData;
if(WSAStartup(MAKEWORD(2,0), &WsData)!=0) { cout << "Erro iniciar a DLL" << "\n"; exit(1); }
SOCKET Send;
struct servent *servico;
struct hostent *nomehost;
struct sockaddr_in alvo;
servico=getservbyport(htons(atoi(argv[2])),"tcp");
nomehost=gethostbyname(argv[1]);
if(!nomehost) { cout << "Impossivel resolver nome de " << argv[1] << "\n"; exit(1); }
Send=socket(AF_INET, SOCK_STREAM,0);
alvo.sin_family=AF_INET;
alvo.sin_port=htons(atoi(argv[2]));
memcpy(&alvo.sin_addr.s_addr, nomehost->h_addr, nomehost->h_length);
memset(&alvo.sin_zero, 0x00,8);
if(connect(Send,(struct sockaddr *)&alvo,sizeof(alvo))) { cout << "Impossivel COnectar" << "\n"; exit(1); }
else { cout << "Conectado em: " << "\n" << "Maquina.: " << argv[1] << "\n" << "Porta.: " << argv[2] << ((servico)?servico->s_name:"desconhecido") << "\n"; }
for(;;) {
cout << ":"; gets(str_send);
send(Send, str_send, sizeof(str_send),0);
cout << "\n";
}
closesocket(Send);
WSACleanup();
return 0;
}
Exemplo de Cliente e Servidor Usando Socket no Linux!
Portscan Simples Usando Sockets em C
Nenhum comentário foi encontrado.
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
É normal não gostar de KDE? (9)
Linux é a solução para o fim do Windows10? (2)
Problemas com Driver NVIDIA (4)









