Главная страница
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.47 MB
Время: 0.028 c
2-1169991854
Vic-z
2007-01-28 16:44
2007.02.18
Как програмно изменить размер картинки


11-1145031824
BMouradov
2006-04-14 20:23
2007.02.18
ScrollBox - видимая область


4-1159423982
Серге И
2006-09-28 10:13
2007.02.18
Как получить доступ к Bios из Windows


2-1170402426
bmb58
2007-02-02 10:47
2007.02.18
Компонент Delphi


2-1170070648
rosl
2007-01-29 14:37
2007.02.18
следующий номер автоинкриментного поля