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?