>Why the client always sends a second Tread request ? >If the Rread returned 281/8192 bytes and the msize is > 8192 it should >be clear that there is no other data to read.
no, because in general data can be returned as discrete messages (or records) of different sizes. for instance with /net/cs and /net/dns each read returns a single recipe for making a connection or a single translation of a name. it's true on unix too: think of a magnetic tape drive (probably you can a description in wikipedia if you never saw one).
