NetworkStream -> Wie viele Bytes sind drin?

  • Hiho,


    ich mach mir warscheinlich gerade wieder zu viele Gedanken, aber von selbst komm ich zu keiner Lösung.
    Ich beschäftige mich schon länger mit Sockets bzw mit Streams.


    Also habe ich einen DatenpaketLogger geschrieben (Sowas wie der NuConnector nur eben ohne Ent/Verschlüsselung).
    Ich stelle mir nun gerade die Frage: Darf ich Datenpakete "zerreißen"? Wenn ich nun Daten empfange, woher weis ich, dass das Datenpacket zuende ist? Im Stream liegen die ja ohne Trennung hintereinander.
    Ich kann mir nicht vorstellen, das ich ein 4096 Byte großes Array mache und damit dann immer die Daten auslese und weitergebe. Immer in 4096 Byte großen Blöcken. Da werden dann doch Informationen getrennt, die eigentlich zusammengehören.


    Vielleicht denk ich auch nur wieder falsch. Aber der Gedanke stört mich beim schlafen ^^


    Wenn jemand ne Idee hat, immer her damit


    > Wer sich das mal anschauen will, hier mal ein Test-Programm, das das Ganze darstellt.
    (Einfach einen Text mit weniger oder mehr als 8 Zeichen eingeben und Return drücken)


    Gruß
    florian0

  • Kann sein dass ich mich jetzt mit meiner Aussage ganz bös schneide, aber so viel ich weiss (jedenfalls kenne ich das nur so) gibt es immer ein Packet-Protokoll.


    Bei Silkroad kennst du ja auch immer die Länge der Packete, da vor dem ganzen Data-Stream eine Grösse mitgegeben wird.


    Oder bei dem einen Spawn-Packet kommt ganz am Ende ein Byte dass dir sagt "Hey, hier ist fertig.".