Socket em C/C++ - CLIENT
Publicado por Krownix 24/11/2005
[ Hits: 10.486 ]
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;
}
Simples servidor http com concorrência feito em C
Connect - um simples programa para atravessar proxys Socks
Nenhum comentário foi encontrado.
Papagaiando o XFCE com temas e recursos
WhatsApp com Chamadas no Linux via Waydroid
XFCE - quase um Gnome ou Plasma mas muito mais leve
LXQT - funcional para máquinas pererecas e usuários menos exigentes
Usando o --load-average no Gentoo para evitar OOM Kill
Instalando o COSMIC DE no Gentoo (systemd)
Centralizar Logo com Transparência via ImageMagick
Ajudante para criar dicas e artigos no VOL (1)
O que você está ouvindo agora? [2] (228)
Midia de instalação LM-21.3 não inicializa [RESOLVIDO] (15)
Reunir material [RESOLVIDO] (4)
Uma pergunta bem simples mas não achei resposta (ainda) [RESOLVIDO] (4)









