我想做文件续传!用TCP/IP!!!

解决方案 »

  1.   

    1.找HTTP1.1的资料
    2.找HTTP相关的封装单元
    3.CSDN有个例子,BCB写的:
    http://www.csdn.net/magazine/source/200203/DownLoad.zip
      

  2.   

    利用 TWinSocketStream 可以做到.TServerWinSocket serverSocket;
    TClientWinSocket clientSocket
    TFileStream inFile, outFile;
    // 假设各 Stream 都己 created// 在 Server 端
    // Client send 一个命令告知 Server 要由 536 bytes 开始传
      inFile.Position := 536;
      wtih TWinSocketStream.Create(serverSocket, 60000) do
      begin
        CopyFrom(inFile, inFile.Size - inFile.Position + 1);
        Free;
      end;// 在 Client 端 OnReadEvent 中
      memStream = TMemoryStream.Create;
      memStream.Size = TOTAL_FILE_SIZE;
      memStream.Position := 0;
      socketStream := TWinSocketStream.Create(clientSocket, 60000) do
      if socketStream.WaitForData(60000) then // give the client 60 seconds writing
        socketStream.Read(PCharArray(memStream.Memory)^, TOTAL_FILE_SIZE)
      memStream.Position := 0;
      outFile.Position := 536;
      outFile.CopyFrom(memStream);