如何通过UDP协议进行大文件传输,万分紧急,贴出源代码。谢谢。

解决方案 »

  1.   

    我觉得你还不如用现成的FTP协议,他也有UDP,你不妨看看
      

  2.   

    FTP?不好玩。我想用UDP。如果将一个大的Exe文件分成1K的小文件,然后进行传输?
      

  3.   

    UDP不是一样可以传送大文件啊!这个和协议有什么关系!你直接用Indy里面的IdUDP控件传就是了啊
      

  4.   

    会有数据丢失.试一下看看.procedure tmainform.sendfiles;
    var nr,sizes:longint;
        mystream:tfilestream;stream:tmemorystream;
    begin
    MyStream := TFileStream.Create(SendFile, fmOpenread);
    try
    nr:=1;sizes:=65535;
    nmstrm1.Host:=users;
    while sizes=65535 do
        begin
        mystream.Position:=(nr-1)*65535;
        if nr*65535>mystream.Size then
            sizes:=mystream.size-(nr-1)*65535 
            else sizes:=65535;
        stream:=tmemorystream.create;
        stream.CopyFrom(mystream,sizes);
        if sizes>0 then
         try
          nmstrm1.PostIt(stream);
          stream.free;
         except
          stream.free;
         end;
        inc(nr,1);
        end;
    mystream.free;
    except
    mystream.Free;
    end;
      

  5.   

    ftp 哪儿不好?方便、成熟,你自己做的东西归根结底也是一个简单的ftp.