2009-08-05 14 views
5

Guten Tag,Steckdosen, Anzahl der verfügbaren Bytes (C#)

OK, kurz und süß.

Ich muss die Anzahl der Bytes zum Lesen von einem Socket erhalten. Ich habe einen NetworkStream auf meinem Socket-Client eingerichtet, aber ich finde nicht, wie ich die Anzahl der Bytes ermitteln kann, die zum Lesen verfügbar sind. Im Moment kann ich nur einen Booleschen Wert "Ja, ich habe Bytes" oder "Nein Bytes dieses Mal ". Aber das ist für die Aufgabe, die ich benötige, sehr nützlich.

Könnte mich jemand aus meinem Elend herausbringen und mich mit meinem Bedürfnis versorgen?

Vielen Dank im Voraus, geschätzt.

Antwort

8

Wie in this MSDN article über die NetworkStream.Length Eigenschaft angegeben:

Ruft die Länge der Daten auf dem Stream. Diese Eigenschaft wirft immer eine NotSupportedException.

Dies ist aufgrund der Tatsache, dass Daten in den Stream, wie es ankommt, zugeführt werden, so dass keine tatsächliche Länge.

Die Eigenschaft Socket.Available teilt Ihnen jedoch mit, wie viele Bytes verfügbar sind, um diesen genauen Zeitpunkt zu lesen. Der Wert kann sich jederzeit ändern, wenn neue Daten eintreffen.

Verwandte Themen