可以考虑分段传送。先把原文件读入内存,然后根据实际情况,进行分段传送,然后在server/client端组合!也可以考虑先压缩,huffman应该是一种不错的选择。

解决方案 »

  1.   

    我使用如下代码,循环读写读没问题,写出错!,使用文件流存在同样问题!
    请指点!
     FillChar(buf,sizeof(buf),0);//Buf:array[0..1048] of char or [0..1048] of Byte //大于1024是防止溢出!
    FileSeek(RFile,0,0);
    for ...
      begin
      RSize := FileRead(RFile,buf,1024);
      FileWrite(WFile,buf,RSize);
      FileSeek(RFile,1024,1);
      end;
      

  2.   

       可用dcom来作,dcom的客户与服务之间的交互已经屏蔽了通讯细节,所以跟文件大小无关!
      

  3.   

    airhorse(编程至尊宝) 
       你使用DCOM时如何写server、client的方法?
       不管使用何种技术,在传递文件的大小受到限制!
       在写Socket时使用char型数组直接读写文件没有问题!(以file类型打开)
       [我正在试使用底层的Socket方法,看是否可行]
       但写时改用socket的sendbuf或sendstream,接受的文件仅为1/4左右!
      

  4.   

     Dcom中:
        将一个,服务器端的文件流,复制到本地的文件流,不行吗?  你是这样写的吗?
      

  5.   

    airhorse(编程至尊宝):
        A.请列出简要代码!
        如何传递,如何接收!
        B.使用TCP/IP底层Socket可以传递!
        C.如使用Delphi Socket控件接收文件大小为28K左右
        D.如有好的方法,请示出简要代码,测试通过,可加分.