ソケット通信を使用した定型応答ボットのアプリケーションを作成してみましょう。
演習問題1
本演習では、ソケット通信を使用して、クライアントから送られてくるメッセージに自動で応答する簡単なボットアプリケーションを作成します。
完成イメージ
今回作成するアプリケーションは、サーバー側とクライアント側の2つのアプリケーションで構成されます。
「作成するアプリケーション」
サーバーアプリケーション
メイン画面

コントロール
| 名称 | コントロールの種類 | 備考 |
| 固定文字1 | Label | |
| ログメッセージ | ListBox |
要求仕様
1. アプリケーションを起動すると、「ログメッセージ」にサービス開始のメッセージを表示します。
2. クライアントからの接続待ち状態にします。
3. クライアントから接続されると、接続したクライアントのIPアドレスをログメッセージを表示します。
3. クライアントからメッセージを受信すると、受信した内容をログメッセージへ表示します。
4. 受信したメッセージに応じて、自動で定型のメッセージを応答します。
| 受信メッセージ | 応答メッセージ |
| DATE | 現在日(形式:yyyy/MM/dd) |
| TIME | 現在時間(形式:HH:mm) |
| DATETIME | 現在日時(形式:yyyy/MM/dd HH:mm) |
| 上記以外 | Unknown command |
5. 画面右上の閉じるボタンをクリックすると、ソケット通信を終了し、アプリケーションも終了します。
クライアントからの接続待ち処理およびメッセージ受信処理は、アプリケーションが固まらないように非同期で実行してください。
クライアントアプリケーション
メイン画面

コントロール
| 名称 | コントロールの種類 | 備考 |
| 固定文字1 | Label | |
| 受信メッセージ | Label | |
| 送信メッセージ | TextBox | |
| 送信ボタン | Button | |
| 接続ボタン | Button |
要求仕様
1. 「接続ボタン」をクリックすると、サーバーへ接続します。
2. サーバーへの接続が完了すると、「接続ボタン」の文字を接続完了へ変更し、クリックできないようにします。
3. 「送信メッセージ」を入力し、「送信ボタン」をクリックすると、サーバーへ送信します。
4. サーバーから受信したメッセージを「受信メッセージ」へ表示します。
5. 画面右上の閉じるボタンをクリックすると、ソケット通信を終了し、アプリケーションも終了します。
サーバーからのメッセージ受信処理は、アプリケーションが固まらないように非同期で実行してください。
あなたをプロにすることを約束します。

アルチテックのインターンシップはハイレベル。
現役のシステムエンジニアがマンツーマン指導
市場価値が高い産業系システムエンジニアを目指そう!

