Socket em C/C++ - CLIENT

Publicado por Krownix 24/11/2005

[ Hits: 10.503 ]

Download client.cpp




Programa que exemplifica o uso da biblioteca winsock2.h para desenvolver um client em c/c++. Este programa transmite uma string pela rede

  



Esconder código-fonte

#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;
}
   

Scripts recomendados

Exemplo de daemon em C

Connect - um simples programa para atravessar proxys Socks

Cliente TCP/IP em C

Exemplo de Cliente e Servidor Usando Socket no Linux!

Simulação de controle de fluxo usando sockets


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts