unsigned int WINAPI SocketThread(void *lpParameter) { CSocket socket; if (!socket.open()) { return 0; } CPacketKeepAlive packet((UINT32)lpParameter); while (TRUE) { socket.sendto(packet.GetData(), packet.GetSize()); if (WAIT_TIMEOUT != ::WaitForSingleObject(g_hEventFinish, 1000)) { break; } } socket.close(); return 0; }