Вот пытаюсь получить от фтп сервера файл. Файл загружается но достаточно часто размер загруженного файла не совпадает с размером исходного. Размер загруженного больше на один байт. Самое странное, что это проявляется не всегда. Я проверил это дело на видеоклипах и обычных исполняемых бинарных файлах, они спокойно работают. Судя по всему лишний байт записывается в конец файла... Не могу понять где я накосячил. То ли в записи в файл, толи в приеме данных с сервера. вот сорцы того участка кода где затаилась бага:
FILE *fd;
fd = fopen("/tmp/file","wb");
fseek(fd,0L,0);
void *buf[1];
int rc;
while(rc)
{
rc=recv(bindatasock, buf, sizeof(buf), 0);
if(rc>0) fwrite(buf, sizeof(buf), 1,fd);
}
Буду рад любой помощи :)
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от Virun
Ответ на:
комментарий
от generatorglukoff
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Recv снова в ожидании,в то время как Send уже все передал. (2015)
- Форум многопоточное копирование фала через сокет (2015)
- Форум Клиент-Сервер Socket linux (Музыкальный сервис) (2014)
- Форум Запись структуры в файл (2014)
- Форум Система обмена файлами.Сокеты,linux. (2014)
- Форум парсинг бинарных данных (2016)
- Форум кодирование бинарных данных (2002)
- Форум Проблема передачи данных (2011)
- Форум ftp передача данных (2012)
- Форум Скорость передачи данных (2010)