WSADATA wsa;
char* msg;
DWORD dwNum;
char* msg;
DWORD dwNum;
if (WSAStartup(MAKEWORD(1,1),&wsa) != 0)
{
return;
}
{
return;
}
struct addrinfo hints, *res;
sockaddr_in sin;
sockaddr_in sin;
memset(&hints, 0, sizeof(struct addrinfo));
hints.ai_family = AF_INET;
hints.ai_socktype = SOCK_STREAM;
hints.ai_socktype = SOCK_STREAM;
char port_string[20] = {0};
sprintf(port_string, "%d", port);
int addrinfo = getaddrinfo(hostname, port_string, &hints, &res);
if (addrinfo !=0 )
{
return ;
}
if (addrinfo !=0 )
{
return ;
}
SOCKET Client_Sock = socket(res->ai_family, res->ai_socktype, 0);
if (Client_Sock <= 0)
{
freeaddrinfo(res);
int sock_error = GetLastError();
}
if (Client_Sock <= 0)
{
freeaddrinfo(res);
int sock_error = GetLastError();
}
int ret = connect(Client_Sock,res->ai_addr, res->ai_addrlen);
if(ret == -1)
{
freeaddrinfo(res);
closesocket(Client_Sock);
WSACleanup();
return NULL;
}
freeaddrinfo(res); //记得释放
//......
int recv_num = recv(Client_Sock,recv_str,sizeof(recv_str),0 );
if(recv_num <= 0)
{
closesocket(Client_Sock);
WSACleanup();
return;
//......
int recv_num = recv(Client_Sock,recv_str,sizeof(recv_str),0 );
if(recv_num <= 0)
{
closesocket(Client_Sock);
WSACleanup();
return;
}
//.......
//.....
//.......
//.....