All pastes #252610 Raw Edit

Sans nom

public text v1 · immutable
#252610 ·published 2006-11-19 19:36 UTC
rendered paste body


// -----------------------------------------------------------------------------
// -  Socket.cpp
// -  Fichier source de la classe Socket permettant la connexion au serveur Distant
// -  Auteur : 
// -----------------------------------------------------------------------------

#include "socket.h"


#include <winsock2.h>
//#include <netdb.h>


void _Socket::Connect()
{
     /* variable d'erreur */
     int erreurInit;
     int erreurCreation;
     int erreurConn;
     int nbRecu = 0;
     int nbEnvoi;
     /* buffer envoi/ reception */
     char bufferAnswer[65535]; 
     char bufferResponse[65535];
     /* Variable lié a la Socket */
     
     WSADATA WSAData;
     SOCKET sock;
     SOCKADDR_IN sin;
     sin.sin_addr.s_addr = inet_addr("128.30.52.31");   //66.249.93.104 google // 128.30.52.31 clictou
     sin.sin_family		= AF_INET;
     sin.sin_port		= htons(80);
     
    
     
      erreurInit= WSAStartup(MAKEWORD(2,0), &WSAData);
    
     sock = socket(AF_INET,SOCK_STREAM,0);
    
           if ( sock == INVALID_SOCKET )
              {
                     printf("Error at socket(): %ld\n", WSAGetLastError());
                     WSACleanup();
                     return;
              }
                 else
            {
                       printf("creation de La connection.. ok \n");
            }
               if (erreurInit!=0) 
            {
                        printf("\nDesole, je ne peux pas initialiser Winsock du a l'erreurInit : %d %d\n",erreurInit,WSAGetLastError());
                        WSACleanup();
                        return;
           }
           else
          {
                      printf("\nWSAStartup : Connection a l'adresse demande ..\n");
          }
        
    
     erreurConn = connect(sock,(struct sockaddr *)&sin, sizeof(struct sockaddr));
     if (erreurConn!=0) 
       {
               printf("Desole, je ne peux pas initialiser la Connection: %d %d\n",erreurInit,WSAGetLastError());
               WSACleanup();
              return;
       }
       else
       {
         printf(" Connection en Cours ..\n");
        }
    
      int var = 1;
       // ioctlsocket(sock, FIONBIO, (u_long FAR*) &var);  // pour debloquer la socket
  

   strcpy(bufferAnswer,"GET /script.php HTTP/1.0\r\nHost: www.clictou.info\r\n\r\n");

  // strcpy(bufferAnswer,"GET /pub/WWW/TheProject.html HTTP/1.1\r\n  Host: www.w3.org\r\n\r\n");
      //  strcpy(bufferAnswer,"GET /index.php HTTP/1.1\r\n Host: www.google.fr\r\n\r\n");
     
      

    nbEnvoi=send(sock,bufferAnswer,strlen(bufferAnswer),0);
  
     printf("\nsend :%d\n",nbEnvoi);
     
   
    while ( nbRecu )
    {
          
    nbRecu = recv(sock,bufferResponse,strlen(bufferResponse),0);
     printf("recu : %d\n",nbRecu);
     
    }
     
       bufferResponse[nbRecu-1] = '\0';
       
     for ( int i = 0 ; i < strlen(bufferResponse) ; i++)
     {
         printf("%c",bufferResponse );
     }
     

}