DataReceivedはデータが届きましたよとメッセージを貰ってるだけ

そこで受け取ったデータを最後まで全部読みだす
中途半端になってる場合もあるから考慮する
それだけ

全部読みだしてないのに終わるのが間違ってる
サンプルはサンプルでしかない
非実用的なコードばかりだろ