Code

来源:互联网 发布:毕业电子相册软件 编辑:程序博客网 时间:2024/05/01 17:47
LRESULT KPortServer::Run() { bool bE = false; WSADATA wsData; #define BUF_LEN 20 char szMsgBuf[BUF_LEN + 1]; sockaddr_in addrClient; SYSTEMTIME sysTime; bool bResult = true; WSAStartup(MAKEWORD(2, 2), &wsData); KServer::Init(); KServer::ResetSocket(); fprintf(stdout, "Waitting for client:/n"); while (true) { SOCKET skClient = INVALID_SOCKET; PROCESS_ERROR(INVALID_SOCKET != (skClient = StartAccepting())); addrClient = GetClientAddress(); GetLocalTime(&sysTime); sprintf(szMsgBuf, "%d/0", ntohs(addrClient.sin_port)); send(skClient, szMsgBuf, strlen(szMsgBuf), !MSG_DONTROUTE); fprintf(stdout, "%d:%d:%d:%d/tClient %s %d connected!/n", sysTime.wHour, sysTime.wMinute, sysTime.wSecond, sysTime.wMilliseconds, inet_ntoa(addrClient.sin_addr), ntohs(addrClient.sin_port)); printf("%s:/tSocket closed!/n", ::GetSystemTimeAsString()); shutdown(skClient, SD_RECEIVE); closesocket(skClient); } bE = true; Exit0: WSACleanup(); return bE; #undef BUF_LEN }
原创粉丝点击