Visual Basic 2010- Dateien per TCP senden

vom 14.02.2012, 18:28 Uhr

Ich habe in Visual Basic 2010 erfolgreich einen Chat programmiert, der in unserem Heimnetzwerk über TCP läuft. Jetzt möchte ich eine Funktion dazu programmieren, um Dateien senden zu können. In meinem Chat können nur 3 Benutzer miteinander kommunizieren, darum läuft es auch von Client zu Client ohne einem Server (ich hoffe ich habe es verständlich genug erklärt). Ich habe bereits mehrere verschiedene Möglichkeiten ausprobiert, allerdings bin ich auf keinen grünen Zweig gekommen. Hier sind zwei Codeschnipsel, die ich zur Zeit verwende:

Datei versenden:

Code: Alles auswählen
Dim buffer() As Byte = File.ReadAllBytes(*Pfad*)
writer.Write(Convert.ToBase64String(buffer))
writer.Flush()

Datei empfangen:
Code: Alles auswählen
Dim buffer() As Byte = Convert.FromBase64String(Hauptform.DateiMessage)
File.WriteAllBytes(*Pfad*, buffer)

Anstelle des *Pfad* wird der vorher ausgewählte Pfad eingetragen. Leider funktioniert das Ganze nicht. Wisst ihr, was ich falsch mache? Oder hättet ihr auch andere Lösungswege, die Datei zu versenden?

» Hamster07 » Beiträge: 21 » Talkpoints: 10,89 »



Beim Senden der Datei verwendest du den Code, um den Inhalt der Datei in Bytes zu konvertieren und dann als Base64-Zeichenfolge zu senden. Dieser Ansatz ist grundsätzlich korrekt. Beim Empfangen der Datei verwendest du den umgekehrten Vorgang, indem du die Base64-Zeichenfolge in Bytes umwandelst und sie dann in eine Datei schreibst. Der Code an sich sieht in Ordnung aus.

Es ist jedoch schwierig, den Fehler zu identifizieren, ohne den vollständigen Code zu sehen und zu wissen, wie dein Chatprogramm aufgebaut ist. Hier sind einige mögliche Gründe, warum das Senden und Empfangen der Datei nicht funktioniert:

Stell sicher, dass die Verbindung zwischen den Clients ordnungsgemäß hergestellt ist und dass die Daten korrekt übertragen werden. Überprüfe auch, ob die Verbindung stabil ist und keine Paketverluste auftreten.

Achte darauf, dass die Pfade, die du für das Lesen und Schreiben der Dateien verwendest, korrekt sind. Überprüfe, ob du die Pfade ordnungsgemäß festlegst und ob die Dateien tatsächlich an den erwarteten Speicherorten vorhanden sind.

Vergewissere dich, dass der Zielordner, in den du die empfangene Datei schreibst, die erforderlichen Schreibberechtigungen für den Benutzer hat, der das Chatprogramm ausführt.

Um das Problem weiter zu diagnostizieren, wäre es hilfreich, den vollständigen Code für den Dateiversand und -empfang zu sehen, sowie Informationen zur Fehlermeldung oder zum unerwarteten Verhalten, das du beobachtest.

» GoroVI » Beiträge: 3187 » Talkpoints: 2,66 » Auszeichnung für 3000 Beiträge


Für die Forennutzer, die per Suchfunktion auf diesen älteren Beitrag gestoßen sind, ist dieser Hinweis von Microsoft vielleicht wichtig. Auch hier wieder Probleme, die früher aufgetaucht sind, sind oft schon durch entsprechendes Update gefixt.hier Beim Versand von Dateien ist zu beachten, dass Scriptsprachen nur was im Editor zu sehen ist, verwenden. Wenn, dann über Export- und Importfunktionen gehen. Zum Beispiel MIME.

» Gorgen_ » Beiträge: 1060 » Talkpoints: 374,40 » Auszeichnung für 1000 Beiträge



Ähnliche Themen

Weitere interessante Themen

^