Also i was wondering if this function returns the SOCKET for the client or the server??
Code:
SOCKET StartClient(char *Address, unsigned short Port)
{
WSAData wsaData;
if (WSAStartup(WINSOCK_VERSION, &wsaData) == SOCKET_ERROR)
{
MessageBox(NULL, "Failed to Startup Winsock", "", MB_OK);
return SOCKET_ERROR;
}
SOCKET Socket = socket(AF_INET, SOCK_STREAM, 0);
if (Socket == SOCKET_ERROR)
{
MessageBox(NULL, "Error Creating Socket", "", MB_OK);
return SOCKET_ERROR;
}
struct hostent *HostEntry;
if ((HostEntry = gethostbyname(Address)) == NULL)
{
MessageBox(NULL, "Could not find host", "", MB_OK);
return SOCKET_ERROR;
}
struct sockaddr_in Server;
ZeroMemory(&Server, sizeof(Server));
Server.sin_family = AF_INET;
Server.sin_port = htons(Port);
Server.sin_addr.s_addr = *(unsigned long*)HostEntry->h_addr;
if (connect(Socket, (sockaddr*)&Server, sizeof(Server)) == SOCKET_ERROR)
{
MessageBox(NULL, "Error connecting to server", "", MB_OK);
return SOCKET_ERROR;
}
return Socket;
}