请教:indy的iohandle如何将大数据流分块发送? 
比如一个要发送的stream有1000K,需要每次发1k,多次发到服务器端。 
iohandle的write函数,研究了半天,还是只能一次把这1000K全部发送,非常消耗时间。

解决方案 »

  1.   

    Bear_hx你好,分块是不是更便利一些?比如几个G的数据流。
    目前我初步打算这样操作:将总的数据流转成string,每次用copy函数复制1k的字符串转换成stream,然后再write,一直到整个长字符串全部处理完。
      

  2.   

    要看你如何定义分块的概念,如果是一次Send只发送“一个分块”,那就没有多少意义,跟原来是一样的。需要了解的是,不管哪一种分块都是会增加时间消耗的。分块的目的一般是两种:
    A.在多用户的环境中,不让某一个用户在单位时间内占用所有带宽。
    B.断点续传(实际上这个断点续传也并不一定需要用这种方式,只需要能够设置从什么位置开始即可)