vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 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
Datenübertragund über Winsock HELP 
Autor: nemo18
Datum: 02.05.05 16:13

Hallo zusammen,

Ich arbeite jetzt schon seit längerem an einem Umfangreichen Friend2Friend FileSharing Tool.

Ich habe eine Datenübertragung eingebaut die ein eigenes Winsock Control ( Transfer ) zu verfügunfg hat.

Wen ich jetzt eine Datei schike werden alle Packete gesendet aber es kommern nur einige an und die Datei bleibt Leer... Ich habe keine Ahnung wieso.

Meine Funktion um die daten zu senden:
Public Sub UploadFile(ByVal sFile As String)
  Dim F As Integer
  Dim sBuffer As String
  Dim nFileSize As Long
  Dim nFilePos As Long
  Dim nBytestoRead As Long
 
  ' Größe der einzelnen Datenpakete
  Const BlockSize = 8192
 
  ' Datei im Binary-Mode öffnen
  F = FreeFile
  Open sFile For Binary As #F
 
  ' Dateigröße
  nFileSize = LOF(F)
 
    ' Datei blockweise senden
    Do While nFilePos < nFileSize
      nBytestoRead = BlockSize
      If nFilePos + nBytestoRead > nFileSize Then
        nBytestoRead = nFileSize - nFilePos
      End If
 
      ' Datenblock lesen
      sBuffer = Space$(nBytestoRead)
      Get #F, , sBuffer
 
      ' Datenblock senden
      frm_main.Transfer.senddata sBuffer
 
      ' Fortschritt aktualisieren
      nFilePos = nFilePos + nBytestoRead
      frm_main.lbl_upload_uploaded.Caption = Format(nFilePos, "#,####")
 
      ' Wichtig!
      DoEvents
    Loop
 
  ' Datei schließen (Sendevorgang beendet)
  Close #F
  senddata "DLF"
  MsgBox "DLF" & nFilePos
End Sub
Die Empfangs Funktion Dateiname und Dateigrösse wurden vorher bereitgestellt:
Private Sub Transfer_DataArrival(ByVal bytesTotal As Long)
  Dim sData As String
  Dim sTemp As String
  Static sFile As String
 
  Transfer.GetData sData, vbString
  AddMsg "Daten bekommen: " & Len(sData)
 
  'If Len(sData) > 0 And nFile > 0 Then
    nBytesRead = nBytesRead + Len(sData)
 
    nFile = FreeFile
    Open AppPath(pDownloadFile) For Binary As #nFile
 
    Put #nFile, , sData
    AddMsg "Daten geschrieben: " & Len(sData)
 
    lbl_download_downloaded.Caption = CStr(nBytesRead)
 
    If nBytesRead = pDownloadFilesize Then
      Close #nFile
      'nFile = 0
    End If
  'End If
End Sub
Hoffe jemand endeckt den Fehler...

Danke im Vorraus.

mfg Joël Gähwiler

www.digitalartcreation.com

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Datenübertragund über Winsock HELP683nemo1802.05.05 16:13
Re: Datenübertragund über Winsock HELP453nemo1802.05.05 16:30

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