// ----------------------------------------------------------------------------- // - Socket.cpp // - Fichier source de la classe Socket permettant la connexion au serveur Distant // - Auteur : // ----------------------------------------------------------------------------- #include "socket.h" #include //#include 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"); nbEnvoi=send(sock,bufferAnswer,strlen(bufferAnswer),0); printf("\nsend :%d\n",nbEnvoi); nbRecu = recv(sock,bufferResponse,sizeof(bufferResponse),0); printf("recu : %d\n",nbRecu); bufferResponse[nbRecu] = '\0'; for ( int i = 0 ; i < strlen(bufferResponse) ; i++) { printf("%c",bufferResponse ); } }