Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.28;
Скачать: CL | DM;

Вниз

PortMapping с логом обращений   Найти похожие ветки 

 
shuraspb   (2004-09-19 18:01) [0]

Использую компонент TIdMappedPortTCP
Компонент с локальной машины перенапрявляет запросы на proxy-сервер.
Все не плохо, читаю IP клиента, адрес куда идет, хост и т.д.

Подсткажите, можно ли получить размер полученного файла, после полной пересылки оного клиенту.
На некоторых страницах при обращении к ресурсу передается инфорамция о размере, но в основном надо считать самому, как это реализовать с минимальными потерями.


 
Defunct ©   (2004-09-20 04:04) [1]

с минимальными потерями чего?
Времени? Быстродействия?


 
shuraspb   (2004-09-20 10:02) [2]

Времени и быстродействия


 
Defunct ©   (2004-09-20 17:59) [3]

Боюсь с минимальными потерями времени не получится. Придется идентифицировать (ftp/http) пакет , и самостоятельно определять к чему он относится. Для высокого быстродействия можно создать класс в котором, вкидывая пакет, определять тип пакета, если это http или ftp пакет, то добавлять пакет в запись существующего или нового файла, длинну прикрепленных данных добавлять к объему файла.


 
atruhin ©   (2004-09-21 05:50) [4]

Вообщем смотри ссылки по прокси серверам. Тебе нужен полноценный прокси, что далеко не тривиальная задача. TIdMappedPortTCP тут ни как не поможет. Если С++ не пугает посмотри 3proxy хороший пример.


 
atruhin ©   (2004-09-21 05:53) [5]

>>можно ли получить размер полученного файла
А вообще, что ты подразумеваешь под этим. Может достаточно общего объема трафика, или трафика по соеденению?


 
shuraspb   (2004-09-22 10:32) [6]

нужен размер определенного файла
При перекачке каждого файла устанавливается новое соединение, я могу видеть данные которые передаются, т.е. каждый полный, либо не полный буфер, могу все это завершить в любой момент.

но мне не подсчитать размер...
Пробовал считать символьно, но происходит дополнительная передача данных(не интересующая меня), которую мне не перехватить.
Нужно описать событие по завершении каждого такого соединения.


 
atruhin ©   (2004-09-22 10:44) [7]

>>При перекачке каждого файла устанавливается новое соединение
Это верно только в случае HTTP 1.0 для более старших версий неверно, для FTP тоже.
Подсчитать можно только полность разобрав HTTP протокол. Т.к. в разных случаях длинна передаваемого ресурса определяется по разному.
Читай внимательно http://book.itep.ru/4/45/http4561.htm



Страницы: 1 вся ветка

Текущий архив: 2004.11.28;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
1-1100610211
Chery
2004-11-16 16:03
2004.11.28
Как Borland Socket Server сделать службой ?


3-1098884695
gorvic
2004-10-27 17:44
2004.11.28
Добавление в Query в run-time поля типа fkCalculated


1-1100604775
Rifo
2004-11-16 14:32
2004.11.28
Буфер обмена-как до него добраться?


14-1099729482
Шишкин Илья
2004-11-06 11:24
2004.11.28
Перенести функцию на Delphi


4-1097591214
#Мастер#
2004-10-12 18:26
2004.11.28
Инфа о компе