投稿者 kiku  (社会人) 投稿日時 2018/3/13 09:49:27
現在のソースでは、下記のような動作をします。
 1.サーバは、AcceptTcpClientメソッドでブロックして接続待機
 2.クライアントは、接続要求
 3.サーバは、クライアントから接続要求があると、
   AcceptTcpClientメソッドが終了する。
 4.クライアントは、接続完了を受け取る。
 5.クライアントは、データ送信する。
 6.サーバは、Sleepでデータ受信するまで待つ。
 7.サーバは、ReadBytesで受信データを取得する。
 8.サーバは、受信データを出力する。
 9.サーバは、whileで処理が戻る。
 10.サーバは、AcceptTcpClientメソッドでブロックして接続待機
 11.クライアントは、2回目のデータ送信をする。
 12.サーバは、接続待ちしているので、AcceptTcpClientで止まっている状態がつづく。
 13.サーバは、ClientとNetStream共に破棄していないため、
    クライアントからの2回目のデータ送信は受信できているが、
    サーバは、その受信データを読みだしていない。

AcceptTcpClientで接続を待つのではなく、
2回目のデータ受信に備えて、
ReadBytesなどを実施する必要があります。

参考になるURLを張っておきます。
http://nonsoft.la.coocan.jp/SoftSample/CS.NET/SampleTcpIpSvr.html


ここまでが質問に対する答えになります。

そのほか懸念点。
 ・サーバは、複数クライアントからの同時接続に対応していない。
  ※1対1の通信であるならば問題ありません。
 ・Sleepで待つのは良くないです。
 ・Client、NetStreamは、disposeをもっているので使わなくなったら破棄しましょう。