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)![Frown :( :(](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f641.png)
und so sieht die Fehlermeldung aus :
, allerdings kommt diese erste bei 2 anlauf eine datei vom Server zu laden..![Confused :confused: :confused:](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f615.png)
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)
![Frown :( :(](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f641.png)
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 :confused: :confused:](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f615.png)