Problem: connection abbrechen und login erkennen

Status
Nicht offen für weitere Antworten.

Marfir

Aktives Mitglied
Hallo,

ich lerne gerade Java und bin jetzt beim Thema "Netzwerkprogrammierung" angelangt.

Ich habe ein Tool geschrieben, dass eine Verbindung zu einem FTP-Server aufnimmt und dort eine Datei abholen soll. Dabei tritt das Problem auf, dass ich nicht weis, ob ich eingelogt bin. Also ob jetzt der richtige Zeitpunkt ist ein "get" zu senden. Der Login funzt aber soweit.

Code:
...
while ((str=bb.readLine()) != null)
            {
                status.setText(status.getText() + str + "\n");
                
                if (str.indexOf("220 Welcome to Code-Crafters Ability FTP Server.") != -1)
                {
                    out.println("USER Marfir");
                }
                if (str.indexOf("331 Please send PASS now.") != -1)
                {
                    out.println("PASS edv");
                }
                if (str.indexOf("You are currently") != -1)
                {
                    //out.println("get LIEFER.DAT");
                    out.println("ls");
                    
                }          
                if (str.indexOf("550 Bad command.") != -1)
                {
                    out.println("bye");
                    s.close();
                    return;
                }
            }
            s.close();

Die if-Abfrage "230 You are currently in directory "/". geht nicht korrekt (oder das ls ?), egal wie ich es ausdrücke.
Dabei ist es die letzte Meldung nach dem Login (die der ftp-server sendet). Demnach müsste der Zeitpunkt richtig sein, aber da kommt dann nur "Bad command" zurück.
Wenn ich es manuell über die cmd versuche kommt nach ls/dir das richtige ergebnis zurück. Also muss irgend wie die IF-Abfrage nicht stimmen.


2. Problem:

Wie kann ich meine while-Schleife abbrechen? Ich habe auf der Form ein abbrechen-button, kann es aber nicht anklicken. Denn sobald der in der while-schleife ist friert die form (JFrame) ein. Es kommen nur noch ausgaben ins TextArea (status).


Thx!
 

Mag1c

Top Contributor
Hi,

schau dir mal das RFC 959 zum FTP-Protokoll an. Bei den Antworten vom Server solltest du dich darauf beschränken, die Codes auszuwerten. Welcher Text dahinter kommt, ist jedem Server selbst überlassen.

Den Login-Zustand mußt du selbst überwachen. Dabei gibt es mehrere Zustände: "nicht angemeldet", "USER gesendet", "PASS gesendet", "angemeldet". So kannst du aus aktuellem Status und Result-Code einen neuen Status berechnen. (z.B. "PASS gesendet" + Result 200 -> "angemeldet")

Pack den ganzen Kommunikationskram in einen Thread, dann bleibt deine GUI intakt und du kannst auch mit dem Button arbeiten.

Und das Kommando zum Verzeichnis auflisten ist "LIST" und nicht ls oder dir oder so.

Gruß
Mag1c
 

Marfir

Aktives Mitglied
Danke!
Hat soweit alles geklapt.


[Zitat]
schau dir mal das RFC 959 zum FTP-Protokoll an. Bei den Antworten vom Server solltest du dich darauf beschränken, die Codes auszuwerten. Welcher Text dahinter kommt, ist jedem Server selbst überlassen.
[/zitat]

Danke für den Tipp. Aber ich hab vergessen zu erwähnen, dass ich mich mit nur einem best. FTP verbinden will und somit den Text auswerten kann.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Handle Connection Problem Netzwerkprogrammierung 3
B Client/Server Connection Problem Netzwerkprogrammierung 2
M RMI - Connection Problem Netzwerkprogrammierung 7
D Client Server Problem, Methode readline() löst SocketException "Connection reset" aus Netzwerkprogrammierung 8
X URL connection Problem Netzwerkprogrammierung 3
tfa RMI-Problem: Connection refused to host: 127.0.0.2 Netzwerkprogrammierung 4
B RMI Connection Problem Netzwerkprogrammierung 13
I Socket Problem mit den WebSocket Antworten der Discord API Netzwerkprogrammierung 0
K Java Websocketserver Problem | Android to Pi Netzwerkprogrammierung 1
C RMI Produzent-Verbraucher-Problem - Code review Netzwerkprogrammierung 12
B Socket Bilder verschicken via Sockets. Heap-Problem. Netzwerkprogrammierung 2
S Problem bei dem Bluetoothverbindungsaufbau Netzwerkprogrammierung 2
G Server-Client IO Problem Netzwerkprogrammierung 6
M Netty - TCP Problem Netzwerkprogrammierung 4
L Socket Problem mit Server Netzwerkprogrammierung 1
J Chat Server starten über GUI problem Netzwerkprogrammierung 4
M Problem bei Socket (MultiplayerSpiel) Netzwerkprogrammierung 4
M Socket CDI, Websocket reference Problem ! Netzwerkprogrammierung 2
Shams Problem mit Eventbus in Verbindung mit Server Netzwerkprogrammierung 0
G apache httpClient Problem. Netzwerkprogrammierung 5
H Problem mit ObjectStreams Netzwerkprogrammierung 3
A Problem beim Senden von Client zu Server Netzwerkprogrammierung 10
D Socket BufferedWriter/Reader Problem Netzwerkprogrammierung 1
Maxim6394 Problem mit Socks5 Implementierung Netzwerkprogrammierung 0
E HttpUrlConnection Cookie Problem Netzwerkprogrammierung 0
X Problem mit vielen Bytes über Socket Netzwerkprogrammierung 23
O 4Gewinnt Multiplayer - Netzwerk Problem (TCP) Netzwerkprogrammierung 1
A Socket Socket-Problem - Object wird nicht übertragen Netzwerkprogrammierung 3
R Problem beim Programmieren eines Chatprogramms Netzwerkprogrammierung 5
E einfaches Problem: Session-Handling bei Servlets Netzwerkprogrammierung 5
G Problem mit einem FileWatcher Netzwerkprogrammierung 7
T Socket Server starten Thread Problem Netzwerkprogrammierung 12
G Problem mit STATIC-Verständnis Netzwerkprogrammierung 8
S Umstellung AS400 auf Postgre - Problem beim Arbeiten mit Metadaten Netzwerkprogrammierung 2
J Facelets Include Rendered Problem Netzwerkprogrammierung 2
J Socket Problem mit C++/Java Netzwerkprogrammierung 20
P Problem mit Datagram-Sockets Netzwerkprogrammierung 2
G Socket NIO2 Problem mit AsynchronousSocketChannel beim Schließen Netzwerkprogrammierung 3
G Cookie Verwaltungs Problem nach Login auf InetSeite (Wo utma-Cookie?) Netzwerkprogrammierung 18
C Socket Problem mit ObjectInput/OutputSream Netzwerkprogrammierung 7
B Socket Problem mit Netzwerkchat Netzwerkprogrammierung 21
D RMI Problem beim shutdown von verteilter CORBA-Anwendung Netzwerkprogrammierung 6
Maxim6394 ipv6 Problem Netzwerkprogrammierung 2
Maxim6394 Proxyserver Performance Problem Netzwerkprogrammierung 11
M Problem Client - Server Sockets: .ready() wird nie true! Netzwerkprogrammierung 6
C Socket Problem mit ObjectInput/OutputSream Netzwerkprogrammierung 5
B RMI und Problem mit rmic-Tool Netzwerkprogrammierung 3
C FTP storeFileStream Problem Netzwerkprogrammierung 3
N Problem über http eine Datei zu senden Netzwerkprogrammierung 4
D JavaMail - Mailsabrufen Problem (imap) Netzwerkprogrammierung 12
J HTTP Übersetzung yahoo babelfish - Zeichensatz-Problem Netzwerkprogrammierung 6
D Apache CXF, JAX-WS Problem bei Arrays - einfacher Server Netzwerkprogrammierung 2
M Problem beim Datenempfang Netzwerkprogrammierung 2
X Problem mit Server-Client-Kommunikation Netzwerkprogrammierung 14
M Problem mit Socket-Verbindung Netzwerkprogrammierung 2
N NIO Problem beim speziellen Behandeln von einzelnen Benutzern Netzwerkprogrammierung 13
D Thread problem Netzwerkprogrammierung 3
T Servlets JSP: Tomcat Problem Netzwerkprogrammierung 4
K Client - Server Problem Netzwerkprogrammierung 16
T RMI Problem Client-Server Netzwerkprogrammierung 2
P RMI Stub Problem Netzwerkprogrammierung 3
D Socket UDP Übertragungs Problem Netzwerkprogrammierung 7
I HTTP Post aus html in Java einlesen - Problem Netzwerkprogrammierung 2
I HTTP Post aus html in Java einlesen - Problem Netzwerkprogrammierung 6
D Problem mit ObjectInputStreams Netzwerkprogrammierung 10
D Socket Problem mit InputStreamReader Netzwerkprogrammierung 3
N CRC32 CheckSum Problem bei UDP Netzwerkprogrammierung 2
V Java Mail Api - IMAP Problem Netzwerkprogrammierung 6
P RMI Problem Netzwerkprogrammierung 4
I Problem bei Outputstreamerzeugung in anderer Klasse als Socket Netzwerkprogrammierung 5
S Socket Problem mit Objektübertragung Netzwerkprogrammierung 16
Shoox Reader / Writer Problem Netzwerkprogrammierung 2
S Problem mit 2 Serversockets unter Win XP Netzwerkprogrammierung 7
P Socket Problem mit Netzwerkverbindung über TCP Netzwerkprogrammierung 12
J Socket Client - Server Problem Netzwerkprogrammierung 4
M Socket Chat-Client-Problem Netzwerkprogrammierung 8
E HTTP Problem beim Auslesen von Websiten Netzwerkprogrammierung 6
T Problem bei Findung der richtigen Architektur Netzwerkprogrammierung 3
AlexSpritze Authentication Problem bei WebServices Netzwerkprogrammierung 4
J Socket Problem -Proxies Netzwerkprogrammierung 2
R HTTP Problem bei Authentifizierung über (Http)UrlConnection Netzwerkprogrammierung 2
F Konzept Problem Netzwerkprogrammierung 12
G NIO Sockets Architektur Problem Netzwerkprogrammierung 2
H Neues NIO problem nachricht an alle clients Netzwerkprogrammierung 3
J Client server problem Netzwerkprogrammierung 3
S Problem bzgl. Sockets / Server-Client-Struktur Netzwerkprogrammierung 3
W RMI Problem Netzwerkprogrammierung 4
M Problem mit Server Netzwerkprogrammierung 5
N Socket Java server c# client problem Netzwerkprogrammierung 7
Y Problem mit ObjectInputStream beim lesen vom Socket Netzwerkprogrammierung 10
R RMI Hibernate Problem Netzwerkprogrammierung 4
Z RMI Problem Netzwerkprogrammierung 11
F RMI problem mit RMI Netzwerkprogrammierung 3
H Object Cast Problem nach Übertragung mit Log4j Netzwerkprogrammierung 5
H Log4j SocketAppender Problem Netzwerkprogrammierung 2
P HTTP Problem beim Download von einer Datei Netzwerkprogrammierung 4
P Problem mit JOscarLib Netzwerkprogrammierung 6
0din SMTP Client - readline problem Netzwerkprogrammierung 4
C komisches Problem / ObjectInputStream erstellt sich nicht Netzwerkprogrammierung 5
W vista / win server 2003 netzlaufwerk problem Netzwerkprogrammierung 4

Ähnliche Java Themen

Neue Themen


Oben