スレッドで Message を取得する

アニメーションしながらスレッドで Message を取得します。
前田稔(Maeda Minoru)の超初心者のプログラム入門


TCP Server の説明
- プログラムファイルをダウンロードして、プロジェクトに取り込んで下さい。
- Message の送信は実行するタイミングが明白なのですが、受信は何時送られてくるか解りません。
従って、タイマ割り込みで定期的にチェックするか、スレッドとして起動して常時チェックしなければなりません。
今回はアニメーションしながらスレッドとして受信 Message を取得することにします。
スレッドの説明は スレッドで時刻を取得する を参照して下さい。
「スレッドで時刻を取得する」では、タイマ割り込みで時刻を表示していますが、時刻が Message に代わるだけです。
- アニメーションのプログラムは「スレッドで時刻を取得する」を参照して下さい。
- スレッドで起動するメッセージを受信する Server Object Class です。
Constructor でサーバーを開始して接続待機に入ります。
実際にスレッドで起動するのは GetMessage() メソッドです。
Pending() で接続要求待ちを確認して、AcceptTcpClient() で Client に接続します。
AcceptTcpClient() を直接実行すると、接続待ち状態で先に進まなくなることがあるので注意して下さい。
取得した Message は anime.Msg に格納します。
- Server Object Class を生成して、スレッドで起動する Main() メソッドです。
new Thread(new ThreadStart(server.GetMessage)) でスレッドを設定して threads.Start() で起動します。
スレッドの終了は listener に null を設定して、終了を待ち合わせます。

TCP Client の説明
- Client 側のプログラムは Form に TextBox と Button を貼り付けます。
ボタンを選択して、稲妻型のアイコンから Click に Button1_Click のイベントを設定します。
TextBox に Message をタイプして Button をクリックすると送信されます。
- button1_Click に Server に接続して Message を送信するコードを記述します。
- 先に Server を起動してから Client を起動して下さい。
Server と Client を一台のマシンで起動してテストして下さい。
Client を二個以上同時に起動することも出来ます。

超初心者のプログラム入門(C# Frame Work)

※・
※・