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

Вниз

размер файла WinSock   Найти похожие ветки 

 
Dot   (2007-01-28 03:00) [0]

Всем привет.
Собираюсь качать файл с инета с помощью winsock.
собственно проблема только одна, это узнать размер файла..
Если узнавать размер через ф-ии WinInet API, то необходимость в зачатьке сокетами отпадает естественно, закачать тогда можно и WinInet ф-ми. Однако это не приемлимо в проекте.
объявлять огромные массивы в качестве буфера конечно можно, и файл скачается, но метод, мягко сказать, некорректный.
Качаю естественно
recv(Sock,Buffer,SizeOf(Buffer));
вот и проблема узнать размер, дабы установить =(

В силу недостаточной компетентности задам ещё один вопрос, который возможно из фантастики.
можно ли поблочно читать файл из интернета сокетным recv. Собственно если можно, хотя я мало себе представляю как, то вопрос отпадает в силу простоты решения.

Заранее спасибо.


 
Dmitrij_K   (2007-01-28 08:59) [1]


> можно ли поблочно читать файл из интернета сокетным recv

Файл нельзя, тем более из интернета.
Данные из сокета можно, а иногда и нужно.
Но лучше пользоваться Wininet,раз пока плохо понимаешь в этом вопросе.


 
Сергей М. ©   (2007-01-29 08:53) [2]


> можно ли поблочно читать файл из интернета сокетным recv


Можно.


> проблема только одна, это узнать размер файла


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



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

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

Наверх




Память: 0.44 MB
Время: 0.041 c
3-1164675408
Draught
2006-11-28 03:56
2007.02.18
Формат даты в SQL запросе


15-1169558386
Кто_где...
2007-01-23 16:19
2007.02.18
Кто где...


15-1169630540
Andre_s
2007-01-24 12:22
2007.02.18
Win XP


3-1164095083
Patrick
2006-11-21 10:44
2007.02.18
Репликация в Oracle


2-1170236693
Lera
2007-01-31 12:44
2007.02.18
Отключение от сети





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский