Название: Чтение QTcpSocket и лишний символ перевода каретки Отправлено: kosproger от Сентябрь 16, 2012, 19:34 Доброго времени суток!
Делаю приложения для работы с FTP. Проверяется удаленная папка и скачиваются pdf файлы. Возникла следующая проблема: При скачивании файла, перед символом "\n" дописывается лишний "\r" и нарушается структура скачанных файлов. Пробовал при скачивании заменять "\r\n" на "\n", но файл может сам по себе содержать "\r\n" и тогда также возникает проблема. Реализовао следующим образом: Управляющее соединение - socket, соединение передачи данных = dataSocket. PdfPrinter.ppp: Код: PdfPrinter::PdfPrinter(QObject *parent) : QObject(parent) Название: Re: Чтение QTcpSocket и лишний символ перевода каретки Отправлено: V1KT0P от Сентябрь 16, 2012, 20:03 Проверь что у тебя выдает:
Код По умолчанию вроде должен быть отключенным. Если включен то естественно будет заменять, надо просто выключить: Код
Название: Re: Чтение QTcpSocket и лишний символ перевода каретки Отправлено: Serr500 от Сентябрь 16, 2012, 20:08 FTP-сервер в бинарный режим переключен?
Название: Re: Чтение QTcpSocket и лишний символ перевода каретки Отправлено: kosproger от Сентябрь 16, 2012, 20:51 FTP-сервер в бинарный режим переключен? Огромное спасибо!!!Бился двое суток с обработкой входящих данных и не заметил очевидного! Собственно команда перевода в binary была, только я там сам не заметил лишний символ и отправлял команду в неверном формате))) Перепроверил, исправил! Прошу прощенья, глупая ошибка ::) Код: bool QIODevice::isTextModeEnabled () Название: Re: Чтение QTcpSocket и лишний символ перевода каретки Отправлено: navrocky от Сентябрь 17, 2012, 02:21 А чем стандартные классы не угодили?
Название: Re: Чтение QTcpSocket и лишний символ перевода каретки Отправлено: kosproger от Сентябрь 17, 2012, 12:30 QFtp? Изначально на нем и было реализовано. Но, лучше я буду исправлять свои баги, чем писать различные костыли для отловли его глюков, поэтому переписываю. Тем более что больше не поддерживается и вполне возможно, что потом совсем уберут его. Кроме того, в дальнейшем надо будет использовать другие протоколы, в том числе, возможно и свой. Тут уж без сокетов - никак :)
Название: Re: Чтение QTcpSocket и лишний символ перевода каретки Отправлено: navrocky от Сентябрь 17, 2012, 16:26 QNetworkAccessManager тоже вроде бы умеет
Название: Re: Чтение QTcpSocket и лишний символ перевода каретки Отправлено: kosproger от Сентябрь 17, 2012, 19:12 Он может стянуть файл с известным адресом. А получить список файлов не сможет. А добавлять QNetworkAccessManager только для скачивания, реализовав все остальное сокетами - смысл?
Название: Re: Чтение QTcpSocket и лишний символ перевода каретки Отправлено: SYrok от Октябрь 10, 2012, 06:33 Приветствую всех
по поводу QFtp у меня тоже большие траблы, поэтому начал искать инфу как отказаться от его использования. проблема в том, что при опросе FTP сервера и скачивание пару файлов, клиент тупо вешается, реализация WatchDog таймера помогает, но это костыль при чём, если по таймауту отбрасывать зависшее подключение, то оказывается что файлы скачаны (иногда и не скачивает), но вот сигнала done нет, от того и висит Название: Re: Чтение QTcpSocket и лишний символ перевода каретки Отправлено: kosproger от Октябрь 10, 2012, 19:33 Так в чем проблема, QTcpSocket и вперед :)
Название: Re: Чтение QTcpSocket и лишний символ перевода каретки Отправлено: SYrok от Октябрь 11, 2012, 04:20 так уже начал разбираться, за помощь спасибо
|