質問: str.TrimEnd("\0".ToCharArray()); ・・・以下省略・・・ } ```
回答: サーバ側ですが ``` // 受信接続キュー内で、接続待ちがあるか判断 if (server.Pending() == true) { // クライアントからの接続を受け付ける TcpClient ClientSocket = server.AcceptTcpClient(); // 通信ストリームの取得 NetworkStream stream = ClientSocket.GetStream(); //Receiveメソッドの呼び出し Receive(stream); } ``` とありますが、この状態では1回目のReceiveが呼び出された後、接続要求が来ない限り次のReceiveが 呼び出されません。 今回のクライアント側がCloseしないよう修正されたことで、接続要求は最初の1回目しか来ないことになります。 今回のようなコネクションを維持するような修正を行う場合、現状の コネクション接続要求受付→受信→送信 というような順次処理を行うようなロジックはやめたほうがいいと思います。 イベントやコールバックで状態遷移をしっかり把握し接続要求や受信等を処理するようにしたほうがいいと思います。