QFtp => QSocket::writeBlock: Socket is not open

Alles rund um die Programmierung mit Qt
Antworten
Simson
Beiträge: 9
Registriert: 5. Oktober 2008 16:12
Kontaktdaten:

QFtp => QSocket::writeBlock: Socket is not open

Beitrag von Simson »

hallo
ich will mit QFtp dateien auf einen Ftp-Server übertragen, bzw. dateien herrunterladen.
dazu hab ich follgendes testprogramm geschrieben, da kommt dann bei er laufzeit der Fehler:
QSocket::writeBlock: Socket is not open
main.cpp

Code: Alles auswählen

#include <qapplication.h>
#include <qmessagebox.h>
#include <qftp.h>

int main( int argc, char ** argv )
{
  QApplication a(argc, argv);
  QFtp ftp;
  ftp.connectToHost("ftp.trolltech.com");
  ftp.login();
  ftp.close();
}
kann mir bitte einer helfen, was an diesem code falsch ist?
ich bin noch ein ziemlich er anfänger in qt programmierung.

mfg Simson
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

QFtp is (wie QHttp auch) asynchron. D.h. die Eventloop muss laufen damit QFtp etwas abarbeiten kann. Dies ist bei Dir überhaupt nicht der Fall. Schau Dir bite erstmal die Erklärungen in der Doku an: http://doc.trolltech.com/4.4/qftp.html#details
In den Beispielen ist außerdem ein ftp-client enthalten der genau das macht was Du möchtest.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Simson
Beiträge: 9
Registriert: 5. Oktober 2008 16:12
Kontaktdaten:

Beitrag von Simson »

okey, danke für die schnelle antwort

ich hab mir mal das beispiel mal angeguckt, is ansich schon ganz gut, aber ich will es ohne grapfische oberfläche,
ansonsten hab ich es auch mal im eventloop probiert, da kommt aber immer noch der gleiche fehler


kann es vllt daran liegen, dass ich linux und kein windows verwende und dadurch fehler auftrehten?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Es liegt nicht an Linux/Windows. Du brauchst ne ordentliche Eventloop. Zeig mal Code.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Simson
Beiträge: 9
Registriert: 5. Oktober 2008 16:12
Kontaktdaten:

Beitrag von Simson »

Code: Alles auswählen

FtpDatei::FtpDatei(QString hostIn, QString loginIn, QString passwortIn)
{
  host = hostIn;
  login = loginIn;
  passwort = passwortIn;
  
  ftpObjektP = new QFtp(anmeldenP);
  ftpObjektP->connectToHost(host);
  ftpObjektP->login(login, passwort);
}
das ist ein konstruktor von der klasse FtpDatei
die klasse erstell ich hier:

Code: Alles auswählen

void Start::einloggen()
{
    user.nickname = nicknameEin->text();
    user.passwort = passwortEin->text();
    
    FtpDatei ftp("ftp.trolltech.com", "", "");
    //delete &ftp;
    
    hauptfensterP->show();
    anmeldenP->close();
}
die funktion void Start::einlogge() ist ein Slot, den ruf ich bei einem buttonklick auf
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Wie lange denkst du, daß dein FtpDatei existiert?

Auch wenn es auskommentiert ist, was hattest du mit delete &ftp vor?

Kommt da immer noch die Fehlermeldung vom ersten Beitrag, oder was passiert jetzt?
Simson
Beiträge: 9
Registriert: 5. Oktober 2008 16:12
Kontaktdaten:

Beitrag von Simson »

also ohne das und würde sie unendlich lange existieren, denke ich,
halt is man das programm beendent.

mit dem delete kommt folgende fehlermeldung:
QSocket::writeBlock: Socket is not open
*** glibc detected *** /home/simon/Documents/Software/C++/nachrichtenOberflaeche/nachrichtenoberflaeche: free(): invalid pointer: 0xbfafd988 ***
======= Backtrace: =========
/lib/libc.so.6[0xb758d4b6]
/lib/libc.so.6(cfree+0x89)[0xb758f179]
/usr/lib/libstdc++.so.6(_ZdlPv+0x21)[0xb7744a61]
/home/simon/Documents/Software/C++/nachrichtenOberflaeche/nachrichtenoberflaeche[0x8052473]
/home/simon/Documents/Software/C++/nachrichtenOberflaeche/nachrichtenoberflaeche[0x8052f2b]
/usr/lib/libqt-mt.so.3(_ZN7QObject15activate_signalEP15QConnectionListP8QUObject+0x16d)[0xb7b3f90d]
/usr/lib/libqt-mt.so.3(_ZN7QObject15activate_signalEi+0xbd)[0xb7b404ad]
/usr/lib/libqt-mt.so.3(_ZN7QButton7clickedEv+0x2c)[0xb7e7afdc]
/usr/lib/libqt-mt.so.3(_ZN7QButton17mouseReleaseEventEP11QMouseEvent+0xbd)[0xb7bd290d]
/usr/lib/libqt-mt.so.3(_ZN7QWidget5eventEP6QEvent+0x144)[0xb7b78744]
/usr/lib/libqt-mt.so.3(_ZN12QApplication14internalNotifyEP7QObjectP6QEvent+0xdc)[0xb7ae110c]
/usr/lib/libqt-mt.so.3(_ZN12QApplication6notifyEP7QObjectP6QEvent+0x1d3)[0xb7ae2033]
/usr/lib/libqt-mt.so.3(_ZN9QETWidget19translateMouseEventEPK7_XEvent+0x8ba)[0xb7a804fa]
/usr/lib/libqt-mt.so.3(_ZN12QApplication15x11ProcessEventEP7_XEvent+0x9b6)[0xb7a7f2c6]
/usr/lib/libqt-mt.so.3(_ZN10QEventLoop13processEventsEj+0x510)[0xb7a900d0]
/usr/lib/libqt-mt.so.3(_ZN10QEventLoop9enterLoopEv+0x50)[0xb7af7c90]
/usr/lib/libqt-mt.so.3(_ZN10QEventLoop4execEv+0x26)[0xb7af7b26]
/usr/lib/libqt-mt.so.3(_ZN12QApplication4execEv+0x1f)[0xb7ae0c7f]
/home/simon/Documents/Software/C++/nachrichtenOberflaeche/nachrichtenoberflaeche(_ZN11QMainWindow11setUpLayoutEv+0x3eb)[0x804d9e7]
/lib/libc.so.6(__libc_start_main+0xe0)[0xb753cfe0]
/home/simon/Documents/Software/C++/nachrichtenOberflaeche/nachrichtenoberflaeche(_ZNK7QDialog8sizeHintEv+0x65)[0x804d831]
======= Memory map: ========
08048000-0805e000 r-xp 00000000 08:05 1412231 /home/simon/Documents/Software/C++/nachrichtenOberflaeche/nachrichtenoberflaeche
0805e000-0805f000 r--p 00015000 08:05 1412231 /home/simon/Documents/Software/C++/nachrichtenOberflaeche/nachrichtenoberflaeche
0805f000-08060000 rw-p 00016000 08:05 1412231 /home/simon/Documents/Software/C++/nachrichtenOberflaeche/nachrichtenoberflaeche
08060000-0812b000 rw-p 08060000 00:00 0 [heap]
b6e00000-b6e21000 rw-p b6e00000 00:00 0
b6e21000-b6f00000 ---p b6e21000 00:00 0
b6f5a000-b6f5b000 rw-p b6f5a000 00:00 0
b6f5b000-b6f90000 r--s 00000000 08:0a 1353707 /var/run/nscd/passwd
b6f90000-b6fbd000 r--p 00000000 08:0a 1317100 /var/cache/libx11/compose/l4_024_313cb605_00280cc0
b6fbd000-b6fc6000 r-xp 00000000 08:0a 829763 /usr/lib/qt3/plugins/inputmethods/libqxim.so
b6fc6000-b6fc8000 rw-p 00008000 08:0a 829763 /usr/lib/qt3/plugins/inputmethods/libqxim.so
b6fc8000-b6feb000 r-xp 00000000 08:0a 829762 /usr/lib/qt3/plugins/inputmethods/libqsimple.so
b6feb000-b6fed000 rw-p 00023000 08:0a 829762 /usr/lib/qt3/plugins/inputmethods/libqsimple.so
b6fed000-b6ff4000 r-xp 00000000 08:0a 829760 /usr/lib/qt3/plugins/inputmethods/libqimsw-multi.so
b6ff4000-b6ff6000 rw-p 00007000 08:0a 829760 /usr/lib/qt3/plugins/inputmethods/libqimsw-multi.so
b6ff6000-b7022000 r-xp 00000000 08:0a 618350 /usr/lib/liblcms.so.1.0.16
b7022000-b7024000 rw-p 0002c000 08:0a 618350 /usr/lib/liblcms.so.1.0.16
b7024000-b7027000 rw-p b7024000 00:00 0
b7027000-b709c000 r-xp 00000000 08:0a 623343 /usr/lib/libmng.so.1.1.0.10
b709c000-b709d000 r--p 00075000 08:0a 623343 /usr/lib/libmng.so.1.1.0.10
b709d000-b709f000 rw-p 00076000 08:0a 623343 /usr/lib/libmng.so.1.1.0.10
b70a3000-b70c2000 r--p 00000000 08:0a 1189347 /usr/share/locale/de/LC_MESSAGES/libc.mo
b70c2000-b70e0000 r-xp 00000000 08:0a 620491 /usr/lib/libjpeg.so.62.0.0
b70e0000-b70e2000 rw-p 0001d000 08:0a 620491 /usr/lib/libjpeg.so.62.0.0
b70e2000-b7126000 r--p 00000000 08:0a 910463 /usr/share/fonts/truetype/arial.ttf
b7126000-b714e000 r-xp 00000000 08:0a 260578 /opt/kde3/lib/libkdefx.so.4.2.0
b714e000-b7150000 rw-p 00027000 08:0a 260578 /opt/kde3/lib/libkdefx.so.4.2.0
b7151000-b716d000 r--p 00000000 08:0a 910508 /usr/share/fonts/truetype/comicbd.ttf
b716d000-b7171000 r-xp 00000000 08:0a 829759 /usr/lib/qt3/plugins/imageformats/libqmng.so
b7171000-b7173000 rw-p 00003000 08:0a 829759 /usr/lib/qt3/plugins/imageformats/libqmng.so
b7173000-b7191000 r-xp 00000000 08:0a 260319 /opt/kde3/lib/kde3/plugins/styles/plastik.so
b7191000-b7193000 rw-p 0001d000 08:0a 260319 /opt/kde3/lib/kde3/plugins/styles/plastik.so
b7193000-b719a000 r--s 00000000 08:0a 1123632 /var/cache/fontconfig/77e41c5059666d75f92e318d4be8c21e-x86.cache-2
b719a000-b719d000 r--s 00000000 08:0a 1123466 /var/cache/fontconfig/8dd4b0ef940f04219d1fe9efbe0c469c-x86.cache-2
b719d000-b719e000 r--s 00000000 08:0a 1317793 /var/cache/fontconfig/b6bbb9f898b73777cfe763014a8c08d3-x86.cache-2
b719e000-b71e4000 r--s 00000000 08:0a 1090489 /var/cache/fontconfig/df311e82a1a24c41a75c2c930223552e-x86.cache-2
b71e4000-b7207000 r--s 00000000 08:0a 1091293 /var/cache/fontconfig/8d4af663993b81a124ee82e610bb31f9-x86.cache-2
b7207000-b724d000 r--s 00000000 08:0a 1090493 /var/cache/fontconfig/17090aa38d5c6f09fb8c5c354938f1d7-x86.cache-2
b724d000-b724f000 r--s 00000000 08:0a 1091295 /var/cache/fontconfig/d458be102e54cf534d1eef0dcbb02d07-x86.cache-2
b724f000-b726c000 r--s 00000000 08:0a 1095114 /var/cache/fontconfig/7ef2298fde41cc6eeb7af42e48b7d293-x86.cache-2
b726c000-b7271000 r--s 00000000 08:0a 1090520 /var/cache/fontconfig/d62e99ef547d1d24cdb1bd22ec1a2976-x86.cache-2
b7271000-b7272000 r--s 00000000 08:0a 1094752 /var/cache/fontconfig/cf6c88e680607f2ab796171745f068a4-x86.cache-2
b7272000-b72b1000 r--p 00000000 08:0a 751457 /usr/lib/locale/de_DE.utf8/LC_CTYPE
b72b1000-b7391000 r--p 00000000 08:0a 750838 /usr/lib/locale/de_DE.utf8/LC_COLLATE
b7391000-b7393000 rw-p b7391000 00:00 0
b7393000-b73b1000 r-xp 00000000 08:0a 1335339 /lib/libexpat.so.1.5.2
b73b1000-b73b2000 r--p 0001e000 08:0a 1335339 /lib/libexpat.so.1.5.2
b73b2000-b73b4000 rw-p 0001f000 08:0a 1335339 /lib/libexpat.so.1.5.2
b73b4000-b73b8000 r-xp 00000000 08:0a 618096 /usr/lib/libXfixes.so.3.1.0
b73b8000-b73ba000 rw-p 00003000 08:0a 618096 /usr/lib/libXfixes.so.3.1.0
b73ba000-b73d1000 r-xp 00000000 08:0a 618400 /usr/lib/libxcb.so.1.0.0
b73d1000-b73d3000 rw-p 00016000 08:0a 618400 /usr/lib/libxcb.so.1.0.0
b73d3000-b73d4000 rw-p b73d3000 00:00 0
b73d4000-b73d5000 r-xp 00000000 08:0a 618392 /usr/lib/libxcb-xlib.so.0.0.0
b73d5000-b73d7000 rw-p 00000000 08:0a 618392 /usr/lib/libxcb-xlib.so.0.0.0
b73d7000-b73d9000 r-xp 00000000 08:0a 623295 /usr/lib/libXau.so.6.0.0
b73d9000-b73db000 rw-p 00001000 08:0a 623295 /usr/lib/libXau.so.6.0.0
b73db000-b73ee000 r-xp 00000000 08:0a 308897 /lib/libpthread-2.6.1.so
b73ee000-b73f0000 rw-p 00013000 08:0a 308897 /lib/libpthread-2.6.1.so
b73f0000-b73f2000 rw-p b73f0000 00:00 0
b73f2000-b73f4000 r-xp 00000000 08:0a 308871 /lib/libdl-2.6.1.so
b73f4000-b73f6000 rw-p 00001000 08:0a 308871 /lib/libdl-2.6.1.so
b73f6000-b740b000 r-xp 00000000 08:0a 619866 /usr/lib/libICE.so.6.3.0
b740b000-b740d000 rw-p 00014000 08:0a 619866 /usr/lib/libICE.so.6.3.0
b740d000-b7410000 rw-p b740d000 00:00 0
b7410000-b7417000 r-xp 00000000 08:0a 622757 /usr/lib/libSM.so.6.0.0
b7417000-b7419000 rw-p 00006000 08:0a 622757 /usr/lib/libSM.so.6.0.0
b7419000-b743c000 r-xp 00000000 08:0a 622303 /usr/lib/libfontconfig.so.1.2.0
b743c000-b7443000 r--p 00022000 08:0a 622303 /usr/lib/libfontconfig.so.1.2.0
b7443000-b7445000 rw-p 00029000 08:0a 622303 /usr/lib/libfontconfig.so.1.2.0
b7445000-b74b0000 r-xp 00000000 08:0a 620114 /usr/lib/libfreetype.so.6.3.16
b74b0000-b74b2000 r--p 0006b000 08:0a 620114 /usr/lib/libfreetype.so.6.3.16
b74b2000-b74b4000 rw-p 0006d000 08:0a 620114 /usr/lib/libfreetype.so.6.3.16
b74b4000-b74c5000 r-xp 00000000 08:0a 700079 /usr/lib/libXft.so.2.1.2
b74c5000-b74c7000 rw-p 00010000 08:0a 700079 /usr/lib/libXft.so.2.1.2
b74c7000-b74c9000 r-xp 00000000 08:0a 701805 /usr/lib/libXinerama.so.1.0.0
b74c9000-b74cb000 rw-p 00001000 08:0a 701805 /usr/lib/libXinerama.so.1.0.0
b74cb000-b74d3000 r-xp 00000000 08:0a 666833 /usr/lib/libXcursor.so.1.0.2
b74d3000-b74d5000 rw-p 00007000 08:0a 666833 /usr/lib/libXcursor.so.1.0.2
b74d5000-b74d6000 rw-p b74d5000 00:00 0
b74d6000-b74db000 r-xp 00000000 08:0a 701809 /usr/lib/libXrandr.so.2.1.0
b74db000-b74dd000 rw-p 00005000 08:0a 701809 /usr/lib/libXrandr.so.2.1.0
b74dd000-b74e4000 r-xp 00000000 08:0a 623061 /usr/lib/libXrender.so.1.3.0
b74e4000-b74e6000 rw-p 00006000 08:0a 623061 /usr/lib/libXrender.so.1.3.0
b74e6000-b74ed000 r-xp 00000000 08:0a 700081 /usr/lib/libXi.so.6.0.0
b74ed000-b74ef000 rw-p 00006000 08:0a 700081 /usr/lib/libXi.so.6.0.0
b74ef000-b7500000 r-xp 00000000 08:0a 308908 /lib/libz.so.1.2.3
b7500000-b7502000 rw-p 00010000 08:0a 308908 /lib/libz.so.1.2.3
b7502000-b7525000 r-xp 00000000 08:0a 618215 /usr/lib/libpng12.so.0.18.0
b7525000-b7527000 rw-p 00022000 08:0a 618215 /usr/lib/libpng12.so.0.18.0
b7527000-b7654000 r-xp 00000000 08:0a 1333193 /lib/libc-2.6.1.so
b7654000-b7655000 r--p 0012c000 08:0a 1333193 /lib/libc-2.6.1.so
b7655000-b7657000 rw-p 0012d000 08:0a 1333193 /lib/libc-2.6.1.so
b7657000-b765b000 rw-p b7657000 00:00 0
b765b000-b7665000 r-xp 00000000 08:0a 1335345 /lib/libgcc_s.so.1
b7665000-b7667000 rw-p 00009000 08:0a 1335345 /lib/libgcc_s.so.1
b7667000-b768a000 r-xp 00000000 08:0a 308874 /lib/libm-2.6.1.so
b768a000-b768c000 rw-p 00022000 08:0a 308874 /lib/libm-2.6.1.so
b768c000-b776f000 r-xp 00000000 08:0a 623644 /usr/lib/libstdc++.so.6.0.9
b776f000-b7772000 r--p 000e2000 08:0a 623644 /usr/lib/libstdc++.so.6.0.9
b7772000-b7774000 rw-p 000e5000 08:0a 623644 /usr/lib/libstdc++.so.6.0.9
b7774000-b777a000 rw-p b7774000 00:00 0
b777a000-b7891000 r-xp 00000000 08:0a 619249 /usr/lib/libX11.so.6.2.0
b7891000-b7895000 rw-p 00116000 08:0a 619249 /usr/lib/libX11.so.6.2.0
b7895000-b78a2000 r-xp 00000000 08:0a 619259 /usr/lib/libXext.so.6.4.0
b78a2000-b78a4000 rw-p 0000c000 08:0a 619259 /usr/lib/libXext.so.6.4.0
b78a4000-b7f63000 r-xp 00000000 08:0a 829541 /usr/lib/qt3/lib/libqt-mt.so.3.3.8
b7f63000-b7f9a000 r--p 006bf000 08:0a 829541 /usr/lib/qt3/lib/libqt-mt.so.3.3.8
b7f9a000-b7fa4000 rw-p 006f6000 08:0a 829541 /usr/lib/qt3/lib/libqt-mt.so.3.3.8
b7fa4000-b7fa8000 rw-p b7fa4000 00:00 0
b7fae000-b7fb1000 r-xp 00000000 08:0a 829761 /usr/lib/qt3/plugins/inputmethods/libqimsw-none.so
b7fb1000-b7fb3000 rw-p 00003000 08:0a 829761 /usr/lib/qt3/plugins/inputmethods/libqimsw-none.so
b7fb3000-b7fb8000 r-xp 00000000 08:0a 829758 /usr/lib/qt3/plugins/imageformats/libqjpeg.so
b7fb8000-b7fba000 rw-p 00004000 08:0a 829758 /usr/lib/qt3/plugins/imageformats/libqjpeg.so
b7fba000-b7fbb000 r--p 00000000 08:0a 750419 /usr/lib/locale/de_DE.utf8/LC_NUMERIC
b7fbb000-b7fbc000 r--p 00000000 08:0a 750456 /usr/lib/locale/de_DE.utf8/LC_TIME
b7fbc000-b7fbd000 r--p 00000000 08:0a 751453 /usr/lib/locale/de_DE.utf8/LC_MONETARY
b7fbd000-b7fbe000 r--p 00000000 08:0a 749230 /usr/lib/locale/de_DE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
b7fbe000-b7fbf000 r--p 00000000 08:0a 749147 /usr/lib/locale/de_DE.utf8/LC_PAPER
b7fbf000-b7fc0000 r--p 00000000 08:0a 750455 /usr/lib/locale/de_DE.utf8/LC_NAME
b7fc0000-b7fc1000 r--p 00000000 08:0a 750398 /usr/lib/locale/de_DE.utf8/LC_ADDRESS
b7fc1000-b7fc2000 r--p 00000000 08:0a 750093 /usr/lib/locale/de_DE.utf8/LC_TELEPHONE
b7fc2000-b7fc3000 r--p 00000000 08:0a 748747 /usr/lib/locale/de_DE.utf8/LC_MEASUREMENT
b7fc3000-b7fca000 r--s 00000000 08:0a 699147 /usr/lib/gconv/gconv-modules.cache
b7fca000-b7fcb000 r--p 00000000 08:0a 750454 /usr/lib/locale/de_DE.utf8/LC_IDENTIFICATION
b7fcb000-b7fe5000 r-xp 00000000 08:0a 1333186 /lib/ld-2.6.1.so
b7fe5000-b7fe7000 rw-p 0001a000 08:0a 1333186 /lib/ld-2.6.1.so
bfaec000-bfb02000 rw-p bfaec000 00:00 0 [stack]
ffffe000-fffff000 r-xp 00000000 00:00 0 [vdso]
*** Prozess abgebrochen ***
soweit ich die meldung verstehe, heißt es, dass das objekt, auf den der pointer zeigt nicht existiert.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Sorry, aber jetzt würde es sich wirklich mal ein 'C++ für Anfänger' - Buch empfehlen!
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Simson
Beiträge: 9
Registriert: 5. Oktober 2008 16:12
Kontaktdaten:

Beitrag von Simson »

ich mein ohne das delete würde es existieren, bis das programm beendet wird.
Antworten