多个客户端向服务器并发的传输文件是不是需要开启多个线程,采用delphi5自有internet控件的话,用哪个好?据说nmstream不能发大于1m的文件是不是真的?另外如果采用TSocketServer,threadcache属性默认为10,是不是说可以最多开启10个客户端的连接?如果自行设置大一些可以吗?

解决方案 »

  1.   

    并不是说多个客户端向一个服务端传输文件就要开多个线程,因为当Tclientsocket连接Tserversocket时,只是占用了一个通道,而当多个客户端时也不过是开了多个通道而已,这点不用当心。建议楼主用Tclientsocket和Tserversocket,这组控件是用TCP的,安全性高点,适用于传输文件.至于如何传输,是用sendbuf或sendstream函数
      

  2.   

    同意楼上的,用buf或stream来传输文件
      

  3.   

    谢谢各位,我今天使用了winsock单元的函数来做,没有使用提供的控件,可能一样的吧,不过我是每有一个客户连接过来,就分配一个socket与客户端通信。现在有个问题就是分配这个socket以后是不是他们在传输的时候其他的客户都要等待了?