Senden und Empfangen von Dateien per UDP

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

TheMatrix

Betreff: Senden und Empfangen von Dateien per UDP

BeitragSa, März 03, 2007 22:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Moin,

ich hab da noch n kleines Problem. Sitz grad an der Stelle fest Daten zu senden.

Also ich habe da eine kleine Datei(28kb) die ich dem Clienten zu schicken will.

Der Code: [AUSKLAPPEN]
Function sendfile(st$, ip, port)
    If FileType(st$)
   
   writelog(st$+" wird gesendet...")

    ; Bereitet den Empfänger auf die Datei vor
   WriteString sendstream, "INCOMINGFILE"
                     
    ; Filter den Teil vor der Datei heraus ( Z.B. wenn man versehentlich Currentdir$() mit sendet"
   temp$ = CurrentDir$()
   For a=1 To Len(st$)
      If Mid$(temp$,1,a)<>Mid$(st$,1,a) Then st$ = Right$(st$,Len(st$)-a+1) : Exit
   Next

   ; Sendet den Dateipfad
   WriteString sendstream, st$
   SendUDPMsg sendstream, ip, port
   
   ; Sendet die Datei
   f = ReadFile(st$)
   While Not Eof(f)
      
      byte =  ReadByte(f)
      WriteByte sendstream, byte
   Wend

   CloseFile f : SendUDPMsg sendstream, ip, port

   writelog("Datei wurde erfolgreich gesendet!")
   Else
      writelogerror("Die Datei "+st$+" existiert nicht")
   End If
End Function


So weit, so gut. Der Empfänger ist bekannt und ankommen tut auch die Message "INCOMINGFILE" bei ihm.

Nun hat der Empfänger die Message bekommen und begibt sich in folgende Funktion:
Code: [AUSKLAPPEN]
Function receivefile$()
   st$ = ReadString$(readstream)

   writelog("Empfange die Datei "+st$)
   
   f = WriteFile(st$) : RecvUDPMsg(readstream)

   While ReadAvail(readstream)
      byte = ReadByte(readstream)
      WriteByte f, byte
   Wend
   CloseFile f
   
   writelog("Datei wurde erfolgreich empfangen")
   Return st$
End Function


So nun zum witzigen Teil:
Es kommt rein garnichts an. Setzte ich for dem Writefile ein Delay so kommt zwar was an, aber nur 8KB von den 28KB. Und wo ist der Rest? Ich check irgenwie garnichts mehr und dreh gleich durch warum der ganze mist jetzt nich funzt.

Bitte Helft, ich weiß echt nicht mehr was ich machen soll.
°_° °.° °~° °v° .. -.-

TheMatrix

BeitragSo, März 04, 2007 0:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Fehlende Netzwerkkenntnisse und blindheit haben mich leider wieder dazu angespornt den Fehler nicht bei mir zu suchen Confused .

Hab heraus gefunden, dass man nicht alles in eins rüberschicken kann, sondern Pakete in 8Kb Schritten und darauf warten muss, dass der Client das Paket bestätigt.

Naja, ihr könnt dies Thema gerne Trashen.

Gruß, Manu
°_° °.° °~° °v° .. -.-

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group