Hello. I am trying to write a program that will send an http request to a web server and then get the requested resource. I know a little about socket programming, but not much. I got stuck when i started trying to connect to a server:
Code:
SOCKET call_socket (const char *hostname, unsigned short portnum)
{
struct sockaddr_in sa;
struct hostent *hp;
SOCKET s;
hp = gethostbyname (hostname);
if (hp == NULL)
return INVALID_SOCKET;
memset (&sa, 0, sizeof (sa));
memcpy ((char *) &sa.sin_addr, hp->h_addr, hp->h_length);
sa.sin_family = hp->h_addrtype;
sa.sin_port = htons ((u_short) portnum);
s = socket (hp->h_addrtype, SOCK_STREAM, 0);
if (s == INVALID_SOCKET)
{
closesocket(s);
return INVALID_SOCKET;
}
if (connect (s, (struct sockaddr *) &sa, sizeof (struct sockaddr_in)) == SOCKET_ERROR)
{
closesocket(s);
cout << WSAGetLastError();
return INVALID_SOCKET;
}
return s;
}
int main ()
{
WSADATA wsaDat;
SOCKET test;
if (WSAStartup (MAKELONG (1, 1), &wsaDat) == SOCKET_ERROR)
{
cout << "Problem!!!";
return -1;
}
if (call_socket ("webpages.atlanticbb.net", 50000) == INVALID_SOCKET)
{
cout << "That failed!!!";
system ("pause");
return -1;
}
return 0;
}
Most of the code i got from a tutorial site, but for some reason i cannot connect to the requested server. Can anyone tell me what im doing wrong?