楽なんだか面倒なんだか良く分からん
修士論文では、通信を利用したアプリケーションを作成しつつ色々実験する為、今更ながら^^; C# でチャットを作ってみたわけですよ。
……なんだろうね、コレ(何
マルチスレッドにして、TcpListener と TcpClient を利用して通信していますが、TcpClient::Read を呼んでデータを読むところまでは良いものの、Readで待機しちゃうものだから、待機中にアプリケーションの通知を送ろうにも送れない。
サーバー・クライアント共に TcpClient::Read で、互いに 相手の TcpClient::Close が呼ばれて Read() の戻り値が 0 になるのを待っている。 ……デッドロックやんコレ!! orz
非同期メソッドを使ってごにょごにょするようなコードに書き換えるべきなのだろうか…うむむ。 通信系のコード書く場合のセオリーってのは知らんので良くわからねぇ…。