UINT ListenThread(LPVOID lParam)
{
UINT uRet   = 0;
INT nOk   = 0;

WSADATA wsdata;
    SOCKADDR_IN addr;
ASSERT(0 == ::WSAStartup(0x0101, &wsdata));
addr.sin_family = AF_INET;
addr.sin_port = htons(6000);
LPHOSTENT ph = (gethostbyname(_T("localhost")));
addr.sin_addr.s_addr = inet_addr(_T("localhost")); // Important
ZeroMemory(&addr,  sizeof(addr)); // Zero struct SOCKET sock = socket(AF_INET, SOCK_STREAM, 0);
if (INVALID_SOCKET == sock)
{
TRACE(_T("Error when create socket\n"));
return -1;
} // if  nOk = bind(sock, (const struct sockaddr*)&addr, sizeof(struct sockaddr)); if (0 != nOk)
{
DWORD dwError = WSAGetLastError();
if (dwError & WSANOTINITIALISED)
{
TRACE(_T("Not Initialize\n"));
}
else if (dwError & WSAEADDRINUSE)
{
TRACE(_T("the address already inused\n"));
}
else if (dwError & WSAEINPROGRESS)
{
TRACE(_T("Processing\n"));
}
else if (dwError & WSAEINVAL)
{
TRACE(_T("Not Bind\n"));
}
else if (dwError & WSAEOPNOTSUPP)
{
TRACE(_T("Note a listen socket\n"));
}
TRACE(_T("Error when bind socket\n"));
return -1L;
}输出的是Error when bind socket