tidtcpserve与tidtcpclient的使用 delphi
 100左右个客户端同时连接服务端前提下,
 客户端连接服务端,下载好友200个左右, 需要等待好久,甚至无法下载,

解决方案 »

  1.   

    TIdTCPServer在使用默认的多线程模式下多连接处理的时候是存在问题。
      

  2.   

    TIdTCPServer在使用默认的多线程模式下多连接处理的时候是存在问题。那有什么解决的办法呢? 请赐教,能帮我解决,分数全送
      

  3.   

    目前个人这里没有相关的方法,除非你使用别的处理方式。我现在都是使用API来写的,所以也没有去研究Indy的使用,不过它的那个TIdThread的创建确实够能折腾的,ScktSrvr(Borland Socket Server),建议一千九百多个线程,连上相应数量的用户,也不过一两秒,我只让TIdTCPServer连上一千个用户,等了半小时(机器CPU占用率100%,处于僵死状态),仍然只看到创建了一百多个线程,我只能按下Power键关机...由此我不得不怀疑其中的性能问题。采用完成端口中,即便是建立六万多个连接,最多也不过几秒钟的事情。
      

  4.   

    TIdTCPServer作为你的主线程,构建一个线程池来处理每个用户连接及交互。