Type: System.Int32 The number of bytes read from the stream, between zero and the number of requested bytes. Streams will only return zero at the end of the stream. Otherwise, they will block until at least one byte is available.
EndRead must be called exactly once on every IAsyncResult object from BeginRead, and calling EndRead is the only way to know how many bytes were read from the Stream. EndRead will block until the I/O operation has completed.