Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вопрос по методу get класса QFTp
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Ввод/Вывод, Сеть. Межпроцессное взаимодействие
koldun90
здравствуйте пишу клиент на qftp к серверу vsftpd
проблема заключается в следующем что метод get качает файлы но почему то файлы -приемники пустые не могу понять почему вот код проекта

main.cpp
#include <QCoreApplication>
#include <myftpcl.h>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    myftpcl ftp;
    ftp.conect();
    ftp.cot();
    return a.exec();
}

myftpcl.h
#ifndef MYFTPCL_H
#define MYFTPCL_H

#include <QObject>
#include <QFtp>

class myftpcl : public QObject
{
    Q_OBJECT
public:
    explicit myftpcl(QObject *parent = 0);
    QFtp a;
    QString login;
    QString parol;
    QString ipadress;

signals:

public slots:
    void getfails(QUrlInfo);
    void conect();
    void cot();
    void chy(int f);
};

#endif // MYFTPCL_H


myftpcl.cpp
#include "myftpcl.h"
#include <QDir>
#include <iostream>
myftpcl::myftpcl(QObject *parent) :
    QObject(parent)
{
    QDir c;
    c.mkdir("/pakatest");


}

void myftpcl::getfails(QUrlInfo url)
{
    std::cout<<url.name().toStdString()<<std::endl;
    QString fail="/pakatest/"+url.name();
    QFile g(fail);
    if (g.open(QIODevice::ReadWrite | QIODevice::Truncate))
    {
        a.get(url.name(),&g,QFtp::Binary);
    }
    g.close();
    //a.close();
}

void myftpcl::conect()
{
    connect(&a,SIGNAL(stateChanged(int)),this,SLOT(chy(int)));
    a.connectToHost(QString("192.168.160.135"));
    a.login(QString("root"),QString("12345678"));


}

void myftpcl::cot()
{
    connect(&a,SIGNAL(listInfo(QUrlInfo)),this,SLOT(getfails(QUrlInfo)));
    a.list();
}

void myftpcl::chy(int f)
{
    std::cout<<f<<std::endl;


}

я не понимаю почему он не скачивает файлы с сервера а точнее качает но получаются пустые данные(все файлы 0 байт)
ViGOur
Обрабатывай сигнал QFtp::commandFinished, чтобы посмотреть как отрабатывает QFtp::get.
И если возникла ошибка получи (error = true), то будет понятно, что ты не так делаешь.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.