Конференция "Сети" » CONNECT-режим
 
  • grisme (19.02.08 08:51) [0]
    некоторые клиентские программы делают запрос на прокси в виде CONNECT host:port /HTTP/ver<и т.д.>
    неясен принцип ответа прокси-сервера на такого вида запроса. GET-режим уже реализован, поэтому надо безболезненно "распараллелить" и CONNECT.
    подскажите где бы почитать о режиме
  • Slym © (19.02.08 09:33) [1]
  • grisme (19.02.08 16:18) [2]
    Slym, благодарю за ТОТ ответ :)
  • grisme (19.02.08 18:18) [3]
    забавно, конечно. клиент коннектится к прокси. передает запрос-CONNECT с полем авторизации(отдебажено и проверяется / проходит верно), устанавливаю соединение с требуемым хост:портом, при соединении отправляю клиенту HTTP/x.y 200 OK#13#10#13#10. клиент кричит, что авторизация не пройдена и дисконнектится :(
  • Slym © (20.02.08 06:09) [4]
    grisme   (19.02.08 18:18) [3]
    200

    значед не 200, а 407 Proxy Authentication Required
    если взял мой исходник то смотри внимательнее... закоментарь аутентификацию
  • grisme (20.02.08 07:15) [5]
    не, я под полем авторизации имел ввиду
    Proxy-Authorization: Basic base64(l:p).
    Клиент присылает это поле в пакете с верными логином и паролем, т.е. слать ему 407 вроде как бесполезно. Делал трассировку, сообщение об ошибочной авторизации вылазит ТУТ ЖЕ при отправке 200.
    Самое парадоксальное, что "с горя" открыл модуль proxy.cpp в исходниках линуксового licq и буквально офигел, ожидается именно пакет 200 в таком же виде.
    Затем попробовал на Download Master'е, у него поставил режим HTTP<connect> и вуаля -- все скачалось, все работает. Клиент какой-то специфичный? O_o так вроде обычный QIP.
  • grisme (20.02.08 13:51) [6]
    тогда еще один вопрос дабы не плодить темы по ерунде. нормально ли(с точки зрения эстетики программирования %-) ставить Sleep(1) в обработку события FD_READ? если без подвисания потока на мс, клиентское приложение "давится"(как думаю) присылаемыми данными(как пример, браузер немного не докачивает файл размером ~2 мб. после длительного ожидания файл докачивается, но файл частично битый).
    замечу, что в обработчике FD_READ идет получение N-байт данных от внешнего хоста и тут же пересылается клиентскому приложению. может где-то в самой организации неверность?
  • Slym © (21.02.08 06:18) [7]
    grisme   (20.02.08 13:51) [6]
    Sleep

    неверно. в жизни полезна только Sleep(0) (не в твоем случае), остальное: костыли инвалиду
Есть новые Нет новых   [134431   +14][b:0][p:0]