NetworkStream の DataAvailable は信用ならない?
System.Net.Sockets.NetworkStream で受信時に、データがまだある筈なのに DataAvailable が false を返してくると言うバグに30分程悩まされる。結局、Read の返り値で判断させることにしてみた。
NetworkStream nsr = ... int nRes; do { nRes = nsr.Read(...); .... } while (nRes!=0 || nsr.DataAvailable);