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