Hi,
ich bin nun dabei, über TCP/IP dateien zu senden, das auch gut klappt.
Das Problem: Nur kleine Textdokumente kann ich erfolgreich senden, was grösseres funzt gar net.
Meine Frage:
Wie kann ich die Datei anständig splitten, und diese wieder fein zusammenbauen?
Im Moment verwende ich folgenden Code:
Wie könnte ich dort fein eben grössere Dateien senden? Oder habe ich gar eine schlechte Methode?
mfg
gfc
ich bin nun dabei, über TCP/IP dateien zu senden, das auch gut klappt.
Das Problem: Nur kleine Textdokumente kann ich erfolgreich senden, was grösseres funzt gar net.
Meine Frage:
Wie kann ich die Datei anständig splitten, und diese wieder fein zusammenbauen?
Im Moment verwende ich folgenden Code:
VB.NET-Quellcode
- 'Bei Falls der Empfangene Text mit /file startet...
- ElseIf s.StartsWith("/file ") Then
- If CheckBox3.Checked = True Then
- s.Replace(0, 5)
- Call Datei_empfangen(s)
- Else : End If
- Else
- '**************************************
- Sub Datei_empfangen(ByVal post As String)
- Try
- post = post.Replace(TextBox3.Text & "|", "")
- Dim splitten As String() = post.Split(Convert.ToChar("|"))
- Dim username As String = splitten(0).Replace(splitten(1), "")
- Dim file1 As String = splitten(1).Replace(splitten(0), "")
- Dim filename As String = file1.Replace(splitten(2), "")
- Dim daten1 As String = splitten(2).Replace(splitten(1), "")
- Dim daten As String = splitten(2)
- Dim buffer() As Byte = Convert.FromBase64String(daten)
- File.WriteAllBytes(My.Application.Info.DirectoryPath + "\" + filename, buffer)
- Call Benachrichtigung("[" & username & "] hat dir " & filename & " geschickt. Du findest die Datei im Ordner dieses Programmes.")
- Catch ex As Exception : End Try
- End Sub
- Private Sub TextBox4_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox4.TextChanged
- If File.Exists(TextBox4.Text) = True Then
- Dim finfo As New FileInfo(TextBox4.Text)
- Label6.Text = "Name: " + finfo.Name
- Label7.Text = "Größe: " + finfo.Length.ToString + " B"
- Label8.Text = "Type: " + finfo.Extension
- Else
- Label6.Text = "Pfad nicht vorhanden"
- Label7.Text = "Pfad nicht vorhanden"
- Label8.Text = "Pfad nicht vorhanden"
- End If
- End Sub
- Sub filesend()
- If Not TextBox4.Text = Nothing Or TextBox5.Text = Nothing Or Not ListBox1.Items.Contains(TextBox5.Text) = Nothing Then
- Dim finfo As New FileInfo(TextBox4.Text)
- Dim buffer() As Byte = File.ReadAllBytes(TextBox4.Text)
- streamw.WriteLine("/file " & TextBox5.Text & "|" & TextBox3.Text & "|" + finfo.Name & "|" + Convert.ToBase64String(buffer))
- Me.Height = 246
- RichTextBox1.Text = RichTextBox1.Text & "Datei " & finfo.Name & " (" & finfo.Length.ToString & ") wurde an " & TextBox5.Text & " gesendet!"
- TextBox5.Clear()
- TextBox4.Clear()
- Label6.Text = "FileInfo"
- Label7.Text = "FileInfo"
- Label8.Text = "FileInfo"
- streamw.WriteLine("Datei wird gesendet...")
- End If ' + ";" + finfo.Length.ToString + ";" + finfo.Extension
- End Sub
Wie könnte ich dort fein eben grössere Dateien senden? Oder habe ich gar eine schlechte Methode?
mfg
gfc