ServerSocket的serverType使用stThreadBlocking,为什么只要有客户端连接到服务端来,CPU占100%。不启用线程也是同样问题,请问大家,这种情况如何处理?
procedure TfrmMain.SocketWatcherGetThread(Sender: TObject;
  ClientSocket: TServerClientWinSocket;
  var SocketThread: TServerClientThread);
var
  HostThread: TSendServerThread;
  strThdl: string;
  StrSrkHdl:string;
begin
  StrSrkHdl := inttoHex(ClientSocket.Handle, 8);
  MMDetail.Lines.add(DateTimeToStr(Now)+' ->客户端--SOCKET句柄号: ' + strSrkHdl +'--IP及端口号: '+ClientSocket.RemoteAddress+':'+inttoStr(ClientSocket.RemotePort)+ '已连接..');
  Inc(Connct);
  MMDetail.Lines.add('建立连接数:'+IntToStr(Connct));
  closesocket(ClientSocket.Handle);
 try
    {gTraceLock.Enter;
    HostThread := TSendServerThread.Create(true, ClientSocket,SOCKETMODE_BSM,1);
    MMDetail.Lines.add(DateTimeToStr(Now) + '创建服务线程, 句柄: ' + strThdl + ' ' +
      '成功..');
    gTraceLock.Leave;
    HostThread.FreeOnTerminate := True;
    HostThread.m_MonFlag := chbShow.Checked;
    HostThread.m_MainHwnd := Handle;
    HostThread.Resume;  }
    Inc(LiveTH);
    //ShowMonitorInfo(ClientSocket.RemoteAddress+'连接');
 except
    MMDetail.Lines.add('创建服务线程, 失败..');
 end;
end;