Dateitransfer

FTP-Client im Eigenbau

Für schnelle Up- und Downloads ist ein FTP-Programm nach wie vor erste Wahl. Obwohl das File Transfer Protokoll (FTP) ungefähr 35 Jahre alt ist, erfreut es sich immer noch großer Beliebtheit. Mit einem selbst geschriebenen FTP-Programm gestalten Sie die Funktionen und die Oberfläche nach Ihren persönlichen Wünschen.

  1. FTP-Client im Eigenbau
  2. Globalen Variablen
  3. Fazit:
FTP-Client im Eigenbau

© PC Magazin

FTP-Client im Eigenbau

Das FTP-Projekt soll mit seinen Funktionen alle wesentlichen Aufgaben erfüllen. Bei Bedarf bauen Sie weitere Funktionen ein, was mit Hilfe des Programmcodes auf der Heft-DVD keine größeren Schwierigkeiten darstellen sollte. Also folgen die Funktionen, die das FTP-Projekt erfüllen soll:

  • Festlegung der FTP-Verbindung mit den Eingabemöglichkeiten zur Auswahl des FTP-Servernamens, des FTP-Usernamens und des Passwortes. Wenn diese Felder nicht belegt werden, sollen Defaultwerte übernommen werden.
  • Verbinden, Trennen und Programmende mit Hilfe einer Befehlsleiste. Nach erfolgreicher Verbindung sollen die Dateien aus dem Dateipfad des Servers angezeigt werden.
  • Die Dateien auf dem Client auswählen und zum Upload auf den FTP-Server markieren.
  • Auswahl, ob vom Client eine Binärdatei oder eine Textdatei auf den FTP-Server übertragen wird.
  • Upload der ausgewählten Dateien.
  • Die Möglichkeit, ausgewählte Dateien auf dem FTP-Server zu löschen.
  • Dateien vom Server auf ein auswählbares Verzeichnis des Clients downloaden.
ftp-client

© PC Magazin

Schaltzentrale: Bevor Sie programmieren, kümmern Sie sich um das Design.

Design-Entwurf

Vor der Programmierung entwerfen Sie das Design. Dazu brauchen Sie kein zusätzliches Programm, weil Sie das Formular mit VisualBasic.net einfach entwerfen. Mit Hilfe der Toolbox zaubern Sie alle benötigten Steuerelemente auf das Formular. Zunächst erhält das Formular ein Befehlsmenü, das Sie mit dem Steuerelement MenuStrip verwirklichen. Das Menü erhält drei Befehle: Verbinden, Trennen und Programmende.

Danach teilen Sie das Formular mit dem Steuerelement GroupBox in mehrere Gruppen. Sie brauchen die Gruppen Dateiauswahl Client, Dateiauswahl Server, Aktion und Einstellungen FTP. In die Gruppen Dateiauswahl Client und Dateiauswahl Server kommt jeweils ein Steuerelement des Typs CheckedListBox.

Hier stellen Sie später die ausgewählten Dateien dar, die Sie per Mausklick in den jeweiligen Auswahlkästen für den Dateitransfer aktivieren. Die Schaltfläche Dateien auswählen ("Button") in der Gruppe Dateiauswahl Client erhält den Code, um Dateien auf dem Client auszuwählen. Dabei wählen Sie mit OpenFileDialog Verzeichnisse und Dateien aus.

Diese fügen Sie als Items der CheckedListBox hinzu. Die Gruppe Dateiauswahl Server erhält die beiden zusätzlichen Buttons: Ausgewählte Dateien löschen und Ausgewählte Dateien Downloaden. Drei TextBoxen bestimmen die Vorgaben für die FTP-Einstellung: FTP-Servername, FTP-Username, Passwort.

Die Schaltfläche Einstellungen übernehmen gibt die Daten an das Programm weiter und baut die Verbindung zum FTP-Server auf. Die Gruppierung Aktion versehen Sie mit dem Steuerelement ListBox. Hier werden alle Aktionen angezeigt, die das Programm ausführt. Jetzt hat das Projekt mit From1.vb schon seine äußere Form angenommen, womit Sie das Weitere programmieren.

ftp-client

© PC Magazin

Der FTP-Client in Aktion: Zugriff auf die Serverdateien.

Netzwerkprogrammierung

Weil es keine eigentliche FTP-Klasse gibt, setzen Sie die Klassen FtpWebRequest und FtpWebResponse ein. Diese beiden Klassen regeln den Up-und Download der Dateien von einem FTP-Server. Das Hochladen einer Datei realisieren Sie mit Hilfe von FtpWebRequest und der Create-Methode recht einfach: "UploadFTP = FtpWebRequerst.Create(New URI(FTPServer & Datei))".

Die Kennung URI steht für Uniform Resource Identifier und stellt die eindeutige Adresse einer Internetadresse, in diesem Fall des FTP-Servers, dar. Da die meisten FTP-Server eine Authentifizierung des Anwenders verlangen, brauchen Sie noch die NetworkCredential-Klasse. Diese Basisklasse stellt die Anmeldeinformationen in kennwortbasierten Authentifizierungsschemas bereit. Der Standardwert beim Dateitransfer ist auf Binary festgelegt.

Für den Transfer von Textdateien ändern Sie die Eigenschaft UseBinary von true in false. Diese Funktion realisieren Sie mit dem Auswahlfeld Binärdateien. Der Dateiinhalt wird in einen Stream geschrieben, der GetRequestStream-Methode. Anforderungen beschreibt die GetResponse-Methode.

Den Download vom FTP-Server leistet die GetResponseStram-Methode, die den Inhalt aus dem angeforderten Objekt ausliest (Sub btnUpload_Click). Die wichtigsten Eigenschaften und Methoden der FtpWebRequest-und WebRequestMethods.Ftp-Klassen überblicken Sie in den beiden Tabellen.

Download: Tabelle

Mehr zum Thema

HTML 5
Webgestaltung

Google Web Designer ist spezialisiert auf HTML5. Ein Vorteil dieses Standards ist das einfache Einbinden von Videos mit dem Element video. Wir zeigen…
Wir verraten, wie Sie Fritzboxen und andere Router vor Hackern schützen.
Fritzbox, Asus, Belkin und Co.

Fritzbox, Asus, Belkin oder DLink - die Liste der geknackten Router ist lang. Hacker stahlen Passwörter oder NAS-Daten. So machen Sie Ihren Router…
Wir führen Sie zur eigenen Windows-App - unserem PC-Magazin-RSS-Feed.
C# und XAML

Wir zeigen, wie Sie Windows 8.1 Apps selbst programmieren können. Lernen Sie das App erstellen an Hand unseres Beispiels: dem RSS-Feed von PC…
Windows Tipps & Tricks: Benutzerrechte unter Windows 8.1
Programme richtig installieren

Wir zeigen Ihnen, wie Sie sich unter Windows 8.1 alle Benutzerrechte verschaffen und Programme richtig installieren.
Windows 8: Starbildschirm
Microsoft Project Siena

Erstellen Sie sich selbst eine App für Windows 8, die auf alle Funktionen Ihres Tablets zugreifen kann, inklusive Kamera, Mikrofon und Lautsprecher.…