Передача файлов по FTP

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
CodeName33
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 297
Зарегистрирован: 01.09.2004 (Ср) 13:25
Откуда: SPb

Передача файлов по FTP

Сообщение CodeName33 » 01.02.2005 (Вт) 11:36

Возникла такая проблема. Писал FTP Uploader на Winsock. Но возникла проблема. Когда у себя локальный сервер ставлю и файлы на него заливаю для проверки - всё ок, а когда в интернет (на народ например) иногда файлы заливаются битыми (некоторые JPEG картинки - до примерно середины нормальные а потом идут артифакты). Ошибку типа Broken Pipe я отлавливаю. Не могу понять в чём дело. Передаю файлы кусочками по 1024 байта. Может нужно уменьшить кусочки?
Программисты не глючат - глючат компиляторы...

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 01.02.2005 (Вт) 14:47

Программисты не глючат - глючат компиляторы...

еще кк глючат :lol:

xenomorph
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 508
Зарегистрирован: 18.04.2004 (Вс) 11:41
Откуда: это не важно - на сегодня у меня есть алиби ...

Сообщение xenomorph » 01.02.2005 (Вт) 22:50

ИМХО у тя глючит аплоадер 8).
Но єто моё ИМХО и оно не доказано 8))).
Проверяй длинну файла ...

Вот буду добрым выложу своего бота может быть 8)))
... Dpkjvfnm dc`xnj itdtkbnmcz, f tckb yt itdtkbnmcz hfcitdtkbnm b dpkjvfnm !!! ...

CodeName33
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 297
Зарегистрирован: 01.09.2004 (Ср) 13:25
Откуда: SPb

Сообщение CodeName33 » 02.02.2005 (Ср) 9:16

xenomorph, с длиной файла всё ок, и разбивается на пакеты правильно, но вот некоторые иногда не доходят и файл размером меньше на сервере оказывается. Глюк не регулярный. Один файл может залиться битым, а тут же лью его по новой и он нормально заливается.
Программисты не глючат - глючат компиляторы...

xenomorph
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 508
Зарегистрирован: 18.04.2004 (Вс) 11:41
Откуда: это не важно - на сегодня у меня есть алиби ...

Re ///

Сообщение xenomorph » 02.02.2005 (Ср) 10:02

Привет всем!

> xenomorph, с длиной файла всё ок, и разбивается на пакеты правильно, ...

??? А зачем и как *)?
Я чего-то не понимаю 8).
Процедура отсылки через Винсок\Сокет:

obj_Winsock.SendData Data
Как ты его на пакеты разбиваешь? ... и зачем?
--
Может я чего не понял - чур ногами не бить 8].

И вообще - телепаты в отпуске - ты бы хоть код приложил 8].

Сегодня я добрый - см. аттачь.

А там:

FTP клиент:

1. На АПИ Сокете. (т.е. без Винсока 8).
2. Управляеться из одного класса (минимум кода!).
3. Управляеться скриптами (!).
4. Событийный 8). Таймаут присобачен правда в одном месте 8).
5. Недоделаный 8ъ.

Погляди, може разницу найдёшь ...

> но вот некоторые иногда не доходят и файл размером меньше на сервере
> оказывается. Глюк не регулярный. Один файл может залиться битым, а
> тут же лью его по новой и он нормально заливается.

Заранее спасибо!
Вложения
Class FTP.rar
Vot ...
(61.06 Кб) Скачиваний: 71
... Dpkjvfnm dc`xnj itdtkbnmcz, f tckb yt itdtkbnmcz hfcitdtkbnm b dpkjvfnm !!! ...

CodeName33
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 297
Зарегистрирован: 01.09.2004 (Ср) 13:25
Откуда: SPb

Сообщение CodeName33 » 02.02.2005 (Ср) 10:17

xenomorph,
> obj_Winsock.SendData Data
> Как ты его на пакеты разбиваешь? ... и зачем?

Дык я метровые файлы на диалапе заливаю, мне прогресс бар нужен, а не весь файл отправить и ждать неизвестно сколько. Тем более ещё и при обрыве связи докачку хочу.
Я его разбиваю на кусочки по 1024 байта и посылаю

for i=1 to IC
Winsock.SendData Data[i]
'Ну и тут типа прогресс обновляется.
next
Программисты не глючат - глючат компиляторы...

xenomorph
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 508
Зарегистрирован: 18.04.2004 (Вс) 11:41
Откуда: это не важно - на сегодня у меня есть алиби ...

8)

Сообщение xenomorph » 02.02.2005 (Ср) 10:50

Уже ближе к истине 8)

Я делел не так 8):

1. Закачиваем 1 Кб.
2. Проверяем длинну файла НА ФТП - Сайз.
3. Делаем Seek /// на 1024 указателя дописывания ...
4. Уходим на номер 1 с Append.

У тебя так?
... Dpkjvfnm dc`xnj itdtkbnmcz, f tckb yt itdtkbnmcz hfcitdtkbnm b dpkjvfnm !!! ...

CodeName33
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 297
Зарегистрирован: 01.09.2004 (Ср) 13:25
Откуда: SPb

Сообщение CodeName33 » 02.02.2005 (Ср) 11:07

xenomorph,
> 1. Закачиваем 1 Кб.
> 2. Проверяем длинну файла НА ФТП - Сайз.
> 3. Делаем Seek /// на 1024 указателя дописывания ...
> 4. Уходим на номер 1 с Append.

Дык это же долго, после каждого килобайта Binary данных обратно в текстовый режим возвращаться проверять размер и опять в Binary переходить. Я за эти деньги, что в инете просижу пока жду, смогу себе выделенку провети с неограниченным траффиком ;)

Я просто отправляю кусочек и жду события SendComplete.
Программисты не глючат - глючат компиляторы...


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8

    TopList