各位好: 其中mem:=Tfilestream.create();p是:p:Array[0..1023] of byte;  Pos,Len:Integer;
 While mem.Position<Mem.Size-1 do//一次只发1024个字节,字节数不能太多,不过应该还可以增加一些.
          begin            if Mem.Size-mem.Position>=1024 then
              begin
                  Mem.Read(p,Len);
               
                IdtcpClient1.WriteBuffer(p,len);
                
                mem.Position:=mem.Position+len;
              end
            else
              begin
               len:=mem.Size-mem.Position;
               mem.Read(p,len);
               IdtcpClient1.WriteBuffer(p,len);
               mem.Position:=mem.size-1;
              end;
          end;接收:
if SaveDialog1.Execute then
                  begin
                    savedialog1.FileName:=fname;
                   // mem.Size:=strtoint(ReadLn());//获取文件长度
                    Mem:=TFileStream.Create(savedialog1.FileName,fmCreate);
                    mem.Size:=strtoint(mid);//获取文件长度
                    try
                    mem.Position:=0;
                    len:=1024;
                     mem.Seek(0,0);
                    while mem.Position<mem.Size-1 do
                    begin
                      if mem.Size-mem.Position>=1024 then
                        begin
                          AThread.Connection.OpenWriteBuffer();                          AThread.Connection.ReadBuffer(p,len);//端点到此就飞了
                          
                           mem.write(p,len);
                          
                          mem.Position:=mem.Position+len;
                        end
                      else
                        BEGIN
                         AThread.Connection.ReadBuffer(p,(mem.Size-mem.Position));//同样
                         mem.write(p,(mem.Size-mem.Position));
                          mem.Position:=mem.Size-1;
                        end;
                    end; 各位: idtcpserver 如何从缓冲区读出数据然后存到文件里?真诚的谢谢.我在线等