Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.02 c
1-1100201651
iMax
2004-11-11 22:34
2004.11.28
Вопрос по работе TWebBrowser


14-1099683570
Piter
2004-11-05 22:39
2004.11.28
Непонятна работа GetWindowText


1-1100264276
klerk
2004-11-12 15:57
2004.11.28
Про удаление файлов


14-1100084773
Holy
2004-11-10 14:06
2004.11.28
О нечистой силе, компах и бубне...


1-1100171574
Max Ivanych
2004-11-11 14:12
2004.11.28
Как определить номер выделенного узла в TreeView?




   Наверх