WSAGetLastError()返回0x0000271e;
TCHAR* buffer = NULL;
::FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, wsaerror, 0, (LPTSTR)&buffer, 0, NULL);
得到消息为"系统检测到在一个调用中尝试使用指针参数时的无效指针地址。"
原因
int lenaddr = 0;
SOCKET sockwork = accept(socklisten, (struct sockaddr*)&addrClient, &lenaddr);
应该改为
int lenaddr = sizeof(sockaddr_in);
SOCKET sockwork = accept(socklisten, (struct sockaddr*)&addrClient, &lenaddr);