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

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



Память: 0.45 MB
Время: 0.027 c
15-1170056333
Арсстан
2007-01-29 10:38
2007.02.18
Сименс S75


15-1170093439
@!!ex
2007-01-29 20:57
2007.02.18
ГРафическая оболочка к Линукску.


2-1170424258
Garacio
2007-02-02 16:50
2007.02.18
Текущая дата в формате dd.mm.yy


3-1164367891
nick_van_rijn
2006-11-24 14:31
2007.02.18
ADO & lookup


2-1170020736
San1
2007-01-29 00:45
2007.02.18
при работе с динамическим массивом ошибка EInvalidPointer




   Наверх