Конференция "Сети" » POP3 Indy9VSIndy10 [D7, WinXP]
 
  • RGV © (09.10.10 11:52) [0]
    Есть у меня почтовый клиент, который я делал, когда еще стоял INDY9 решил перейти на инди10. Проблема в следующем.
    размер письма не соответствует тому, что указан на сервере.
    алгоритм примерно следующий
    1. коннект
    2. залогиниваюсь
    3. получаю лист
    4. из листа извлекаю размер нужного мне письма
    5. шлю RETR, проверяю ответ на +OK
    6. загружаю
    процедура загрузки: buf:=readBuf(false,true);


    Function TTCPThread.ReadBuf(const withoutDotAndEmpty:boolean=true; const ShowProgress:boolean=false):string;
    var
     s:string;
    begin
     Result:='';
     repeat
       s:=tcp.Socket.ReadLn(enDefault);
       if ShowProgress then
       begin
         ProgrPos:=ProgrPos+Length(s)+2;
         Synchronize(DoProgressEvent);
       end;
       if withoutDotAndEmpty then
       begin
         if (s<>'.') and (s<>'') then Result:=Result+s+LF;
       end else
       begin
         //if s='--' then s:=s+' ';
         Result:=Result+s+LF;
       end;
     until s='.';
    end;



    дык вот пока был indy9 length(buf) равнялся тому размеру который указал в листе, с переходом на новый инди размер каждый раз разный.
    помогите найти  зарытую собаку )
    спасибо.
  • RGV © (09.10.10 11:58) [1]
    PS вместо указал надо читать как указанный
  • RGV © (10.10.10 04:19) [2]
    мда... придется танцевать с winsock
  • demin_as (05.04.11 12:24) [3]
    Удалено модератором
    Примечание: спам
 
Конференция "Сети" » POP3 Indy9VSIndy10 [D7, WinXP]
Есть новые Нет новых   [134437   +28][b:0][p:0.001]