vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Datei über TCP senden 
Autor: MeisterEngel
Datum: 12.11.05 14:31

So ganz bin ich da noch nicht hintergestiegen. Also ich kann TXT-Files versenden, jedoch keine Bilder oder so. Ich denke das liegt an der Encoding. Was muss ich machen, dass ich über meine TCP-Verbindung nicht nur Text, sondern auch egal welche Datei versenden kann?

Auf Serverseite wird so gesendet:
    Public Sub sendFile(ByVal client As Socket)
        Dim filename As String = "Sonnenuntergang.jpg"
        Dim FStream As New FileStream("C:\Dokumente und Einstellungen\All" & _
          "Users\Dokumente\Eigene Bilder\Beispielbilder\" & filename, _
          FileMode.Open, FileAccess.Read, FileShare.Read)
        Dim SReader As New StreamReader(FStream)
        Dim sText As String = SReader.ReadToEnd
        Dim filedata As String = "file|" & filename & "|" & sText
 
        Dim laenge As String = filedata.Length + _
          filedata.Length.ToString.Length + 2
        Dim data As String = "incomingfile|" & laenge
 
        Dim sendData As String = "$" & data.Length & "$" & data
        Dim message() As Byte = Encoding.ASCII.GetBytes(sendData)
        client.Send(message)
 
        'die Datei senden
        Dim sendFile As String = "$" & data.Length & "$" & filedata
        Dim messageFile() As Byte = Encoding.ASCII.GetBytes(sendFile)
        client.Send(messageFile)
    End Sub
Der Client empfängt so:
            '########## File Länge ############
            If splitData(0).Equals("incomingfile") Then
                Console.WriteLine("Buffer für File neu einstellen")
                ReDim bytes(splitData(1))
            End If
 
If splitData(0).Equals("file") Then
                Dim filename As String = splitData(1)
                Console.WriteLine("Verarbeite File")
                Dim FStream As New FileStream("C:\XXX" & filename, _
                  FileMode.Create, _
                    FileAccess.Write, FileShare.Write)
                Dim SWriter As New StreamWriter(FStream)
 
                Dim start As Int32 = data.IndexOf("|", 5) + 1
                SWriter.Write(data.Substring(start))
                SWriter.Close()
                MessageBox.Show("Datei empfangen!", "Filetransfer", _
                  MessageBoxButtons.OK)
            End If
Ich hab zu diesem Thema auch noch nix im Netz gefunden, anscheinend bin ich der einzige der das Problem hat oder für alle ist es klar und nur ich hab ne Blockade

Gruß,
Christian
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Datei über TCP senden6.970MeisterEngel12.11.05 14:31
Re: Datei über TCP senden3.906ModeratorDaveS12.11.05 14:46
Re: Datei über TCP senden4.252MeisterEngel12.11.05 15:33
Re: Datei über TCP senden3.832ModeratorDaveS12.11.05 17:37
Re: Datei über TCP senden3.913MeisterEngel12.11.05 18:41
Re: Datei über TCP senden5.571ModeratorDaveS12.11.05 20:22
Re: Datei über TCP senden3.795MeisterEngel12.11.05 23:32
Re: Datei über TCP senden3.813ModeratorDaveS13.11.05 10:00
Re: Datei über TCP senden3.748MeisterEngel13.11.05 10:10
Re: Datei über TCP senden3.633MeisterEngel14.11.05 16:11
Re: Datei über TCP senden3.577ModeratorDaveS14.11.05 17:16
Re: Datei über TCP senden3.580MeisterEngel14.11.05 18:21
Re: Datei über TCP senden3.638ModeratorDaveS14.11.05 18:26
Re: Datei über TCP senden3.687Fabian Stern15.11.05 14:47
Re: Datei über TCP senden3.705ModeratorDaveS15.11.05 15:11
Re: Datei über TCP senden3.600MeisterEngel15.11.05 17:35

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel