Forum: Netzwerke
C#
by Satty67,
11. Sep 2010
Ja, OK :)
War wohl zuviel information im ersten Post. Hatte auch zu spät gesehen, dass state als Parameter wiederverwendet wird und mich an der wenig relevanten 4-Byte Abweichung festgekrallt.
Forum: Netzwerke
C#
by Satty67,
11. Sep 2010
Ja aber beim ersten Aufruf des Handlers pro Objekt, gehören die ersten 4 Byte ja nicht zum Objekt. Werden aber auch da mit in den Stream geschrieben.
Kommt der zweite Aufruf beim gleichen Objekt, werden wieder 4 Byte als Längen Angabe ermittelt, obwohl diesmal alle Bytes zum Objekt gehören (weil state lokal definiert ist).
€: Ok... rekusrsiver Aufruf mit Übergabe des alten state. Der erste...
Forum: Netzwerke
C#
by Satty67,
10. Sep 2010
Liest Du hier nicht ab dem falschen offset das Objekt?
state.receivedObject.Write(state.buffer, 0, bytesRead);
state.buffer ist ja ein byte array und kein Stream, der die zuletzt gelesenen Position behält. Würde zumindest auf den ersten Blick die Abweichungen um 4 Byte erklären.
state und damit state.lengthRead ist auch lokal innerhalb des Handlers deklariert und somit bei jedem Aufruf erst...