Вниз
Скачать: 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.042 c
1-1100624643
TSoftman
2004-11-16 20:04
2004.11.28
Копирование файлов с визуализацией


4-1098102536
bns
2004-10-18 16:28
2004.11.28
Обмен данными между сервисами


14-1099984409
syte_ser78
2004-11-09 10:13
2004.11.28
глупый вопрос.


14-1100016657
Andy BitOff
2004-11-09 19:10
2004.11.28
Вакансия


1-1100358310
_smi_
2004-11-13 18:05
2004.11.28
как создать выпадающее меню программно?




   Наверх