Code

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
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值