1. Pascal / Говнокод #13247

    +69

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    while not recived do
         begin
           Application.ProcessMessages;
    //       do_log('Reciving CS response');
           p:=pos('</ROW>',ss);
           if p>1 then recived:=true else
           begin
           s := CS.Socket.ReadLn+#10#13;
    //       do_log(s);
           ss:=ss+s;
           end;
           if cs.Socket.ReadLnTimedout then cs.Socket.Close;
           if not cs.Connected then recived:=true;
         end;
        do_log('RECIVING done ');
        cs.Free;
        ss:=UTF8ToStrSmart(ss);
        do_log(ss);

    HTTP 1.1
    отправляет запрос, получает ответ в XML
    Вы видите условие выхода из цикла?
    я нет.
    параллельный трид отсчитывает 3 секунды и принудительно закрывает сокет. с учетом keep-alive это дает полтора года мозго..6ли
    аутсорс фрилансерам он такой...

    Запостил: RomaShka, 27 Июня 2013

    Комментарии (11) RSS

    Добавить комментарий