UDP-Größere Daten senden

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von simsusim.

    UDP-Größere Daten senden

    Hi, ich möchte gerne über UDP daten versenden.
    das funkitonert soweit auch ganz gut, aber ich möchte jetzt auch größere Dateien versenden können.
    Wie mach ich das bei UDP?
    ich habe zum senden folgenden Code:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Dim udpClient As UdpClient
    2. Dim fStream As FileStream
    3. fStream = File.OpenRead(Dateipfad)
    4. Dim fileBytes(fStream.Length) As Byte
    5. fStream.Read(fileBytes, 0, fileBytes.Length)
    6. udpClient = New UdpClient()
    7. udpClient.Send(fileBytes, fileBytes.Length, "meine IP", Port)
    8. fStream.Close()


    und zum Empfangen:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Dim myEndPoint As New IPEndPoint(IPAddress.Any, Port)
    2. Dim myByte(36000) As Byte
    3. Dim myUdpClient As UdpClient = New UdpClient(Port)
    4. myByte = myUdpClient.Receive(Nothing)
    5. Dim myFileStream As FileStream = New FileStream(Dateipfad, FileMode.Create, FileAccess.Write)
    6. myFileStream.Write(myByte, 0, myByte.Length)
    7. myFileStream.Close()
    8. myUdpClient.Close()


    Wie splitte ich jetzt die Datei und wie setze ich sie später wieder zusammen?
    (ich vermute mal Array :), aber wie sieht das Ganze dann aus? Vorallem das Zusammensetzen :))

    danke schonmal im Vorraus

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „simsusim“ ()

    ja, das weiss ich, ich weiss auch, wie man sowas mit TCP macht (kann ich auch).
    aber ich will das ganze ja über UDP machen.
    Udp kann auc Vorteile haben. und die Möchte ich eben gerne nutzen.
    TCP würde zwar auch gehen, aber ich will ja mal was neues machen.
    Bei UDP ist das Prinzip dasselbe, du musst dich eigt. nur noch gegen verlorene Datenpakete absichern(weshalb UDP nicht so für Dateitransfer geeignet ist, wenn beim Streamen mal ein Paket fehlt ist das im Normalfall nicht weiters schlimm...)
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---