$ADCSND узнать точный размер передаваемого сжатого сегмента |
Здравствуйте, гость ( Вход | Регистрация )
$ADCSND узнать точный размер передаваемого сжатого сегмента |
24.5.2012, 2:57
Сообщение
#1
|
|
Абсолютный новичок Группа: Пользователи Сообщений: 4 Регистрация: 24.5.2012 Пользователь №: 10 588 Спасибо сказали: 0 раз |
Отсылаю в сокет примерно такое:
$ADCGET file TTH/PPUROLR2WSYTGPLCM3KV4V6LJC36SCTFQJFDJKA 0 1000 ZL1| Получаю ответ: $ADCSND file TTH/PPUROLR2WSYTGPLCM3KV4V6LJC36SCTFQJFDJKA 0 1000 ZL1| И начинаю считывать эти 1000 байт. Но отсылатель со своей стороны сжимает 1000 байт и выходит меньше. Таким образом считав ~900 байт всё зависает в ожидании последних 100 байт. Вопрос прост, как узнать сколько байт придет? Простым таймаутом проблему не решить т.к. бывают подзависания да и нехорошо ступорить программу. |
|
|
24.5.2012, 13:39
Сообщение
#2
|
|
7 квадратиков Группа: Модераторы Сообщений: 793 Регистрация: 21.1.2009 Пользователь №: 1 895 Спасибо сказали: 301 раз |
В схожей теме ответа так и не нашли.
|
|
|
24.5.2012, 15:43
Сообщение
#3
|
|
Абсолютный новичок Группа: Пользователи Сообщений: 4 Регистрация: 24.5.2012 Пользователь №: 10 588 Спасибо сказали: 0 раз |
Пока точно не знаю, но похоже надо использовать поточное разжатие на сокете, тогда на выходе уже будет нужное количество байт.
|
|
|
24.5.2012, 16:31
Сообщение
#4
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Внимательно смотри исходники клиента
|
|
|
24.5.2012, 17:18
Сообщение
#5
|
|
Абсолютный новичок Группа: Пользователи Сообщений: 4 Регистрация: 24.5.2012 Пользователь №: 10 588 Спасибо сказали: 0 раз |
Внимательно смотри исходники клиента Не, в это дело я точно не полезу, там чёрт ногу сломит. Проще и быстрее самому разобраться, к тому же у меня уже есть на половину рабочий вариант. Использую InflaterInputStream (это в JAVA) к сожаление режет utf-8 символы, думаю это мой косяк. Еще один вариант использовать Inflater и после каждого распакованного байта делать проверку на законченность распаковки...думаю в других клиентах сделано аналогично, но проверять не буду. |
|
|
29.5.2012, 0:03
Сообщение
#6
|
|
Абсолютный новичок Группа: Пользователи Сообщений: 4 Регистрация: 24.5.2012 Пользователь №: 10 588 Спасибо сказали: 0 раз |
Не хочу отдельно тему создавать для простого вопроса
$ADCGET file TTH/PPUROLR2WSYTGPLCM3KV4V6LJC36SCTFQJFDJKA 1024 2048 ZL1| первое число - номер байта с которого нужно передавать файл, а второе? номер последнего байта или количество байт от первого числа? |
|
|
29.5.2012, 0:20
Сообщение
#7
|
|
7 квадратиков Группа: Модераторы Сообщений: 793 Регистрация: 21.1.2009 Пользователь №: 1 895 Спасибо сказали: 301 раз |
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последнее сообщение | |
---|---|---|---|---|---|
Как узнать диапазон ip-адресов другого пользователя? Например когда забанишь интернет адрес,а он с другого зайдет. |
2 | STIVAN | 9 974 | 19.3.2011, 14:35 Посл. сообщение: STIVAN | |
Размер шары хаба | 2 | dimajak | 7 296 | 18.5.2010, 4:05 Посл. сообщение: Accelerator | |
Узнать кто защел о новых юзерах |
10 | voronf4 | 13 279 | 8.3.2010, 21:55 Посл. сообщение: voronf4 | |
Любопытно Узнать можно самому сделать(переделать) DC по исходникам или как их там н???? |
36 | Артём | 34 705 | 25.11.2009, 12:20 Посл. сообщение: dimetrius | |
ADCGET-ADCSND и размер файла | 4 | sweeny | 11 290 | 23.11.2009, 13:27 Посл. сообщение: sweeny | |
Как Узнать Диопазон Ip КАК УЗНАТЬ ДИОПАЗОН IP |
10 | Vizunchik | 13 166 | 16.11.2008, 23:14 Посл. сообщение: Sephiroth_Lukaw | |
Как Узнать Диопазон Ip КАК УЗНАТЬ ДИОПАЗОН IP |
0 | Vizunchik | 0 | 16.11.2008, 20:43 Посл. сообщение: mariner |
|
Сейчас: 23.11.2024, 6:06 |