TCP datenübertrageungs Problem

Maxro

Mitglied
Hy leutz

ich habe Probleme bei einem Datentransfer zwischen Server und Client
und zwar habe ich folgende code .. der immer 1024 bytes schreibt und dann die ProgressBar inkremntiere !
Nun gibt es die möglichkeit bei dem Tool nach ferstigstellung des Downloads eine weitere Datei vom Server zu Laden wobei für diese dann die selbe Verbindung genutz wird , allerdings bekomme ich , beim 2 downloadversuch , wenn der Client die größe der Datei wieder durch 1024 teilen will, um die anzahl der Wiederholungen zu bekommen , einen Fehler Meldung ! ( in zeile 4) :(

Code:
 If theRequest.Contains("RequestedFile") = True Then
                WriteToServerLog(" FileTransfer wird gestartet..")
                Dim Datei As String = theRequest.Remove(0, 4)
                Dim größe As String = readerClient.ReadString
                Dim anzahlPackete As Int16 = (größe / 1024)
                Dim Rest As Int16 = (größe Mod 1024)
                Dim fn As String = readerClient.ReadString()
                ' Dim l As Integer = readerClient.ReadInt32()
                Me.Fortschritt.Maximum = größe
                Dim i As Int16
                Do
                    Dim b() As Byte = readerClient.ReadBytes(1024)
                    Dim fs As New FileStream(fn, FileMode.Append, FileAccess.Write, FileShare.None)
                    fs.Write(b, 0, 1024)
                    fs.Close()
                    Me.Fortschritt.Value += 1024
                    i += 1

                Loop While Not i = anzahlPackete

                Dim b2() As Byte = readerClient.ReadBytes(Rest)
                Dim fs2 As New FileStream(fn, FileMode.Append, FileAccess.Write, FileShare.None)
                fs2.Write(b2, 0, Rest)
                fs2.Close()
                Me.Fortschritt.Value += Rest
                WriteToServerLog(" FileTransfer beendet !")
            End If
            Me.Fortschritt.Value = 0
End Sub

und so sieht die Fehlermeldung aus :

System.InvalidCastException wurde nicht behandelt.
Message="Ungültige Konvertierung von der Zeichenfolge in Typ Double."
Source="Microsoft.VisualBasic"
StackTrace:
bei Microsoft.VisualBasic.CompilerServices.Conversions.ToDouble(String Value, NumberFormatInfo NumberFormat)
bei Microsoft.VisualBasic.CompilerServices.Conversions.ToDouble(String Value)
bei WindowsApplication6.Form1.RunClient() in C:\Dokumente und Einstellungen\Maxro\Desktop\winapp6\WindowsApplication6\WindowsApplication6 \Form1.vb:Zeile 718.
bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
bei System.Threading.ExecutionContext.runTryCode(Object userData)
bei System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCle anup(TryCode code, CleanupCode backoutCode, Object userData)
bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Threading.ThreadHelper.ThreadStart()

, allerdings kommt diese erste bei 2 anlauf eine datei vom Server zu laden..:confused:
 

Neue Beiträge

Zurück