www.pudn.com > StreamSend.rar > srvproc.pas


unit srvproc; 
 
interface 
uses Windows, Messages, SysUtils, Classes, IdBaseComponent, IdComponent, 
  IdTCPServer, unit1; 
procedure ProcSession(AThread: TIdPeerThread); 
implementation 
 
procedure ProcSession(AThread: TIdPeerThread); 
var l_Bytes: Integer; 
  l_preStr: string; 
  l_Str: TMemorystream; 
begin 
  with AThread.Connection do begin 
    try 
      l_Str := tmemorystream.Create; 
      try 
        l_PreStr := ReadLn; 
        addmsg('Receipting :' + l_PreStr + '...'); 
        l_bytes := ReadInteger; 
        addmsg('Total :' + inttostr(L_bytes) + 'Bytes.'); 
        ReadStream(l_str, l_bytes); 
        if pos('\', l_prestr) = 0 then 
          l_Str.SaveToFile('d:\temp\' + l_prestr) 
        else 
          l_Str.SaveToFile(l_prestr); 
        addmsg('Successed Receipte.'); 
      finally 
        l_Str.free; 
        Writeln('Successed Receipte.'); 
      end; 
    except 
      AThread.Stop; 
    end; 
  end; 
end; 
end.