「SocketDebugger」は、通信プログラムのテスト時には接続相手が必要ですが、その接続相手の代理として使うことができます。シェアウェア版とフリー版があります。ここではフリー版を使わせていただきます。
- アーカイブをhttp://sdg.ex-group.jp/からダウンロードしてください。
- アーカイブを解凍後、格納されている「SocketDebuggerFree.exe」を実行してください。
- 「設定」>「通信設定」を選択してください。
- 「接続」>「ポート1」を選択し、右フレーム内の設定を
通信タイプ:TCP:クライアント
IPアドレス:127.0.0.1
remoteポート番号:12345にしてください。(ここで相手サーバの情報を入力しています。)
- 「動作」>「ポート1」を選択し、右フレーム内の設定を
受信時動作にチェック
対応するポート:受信したポート
送信データエディタの内容を返信にチェックにしてください。(すぐ後で、送信データエディタで返信する内容を入力します。)「OK」をクリックしてください。
- 送信データエディタにて「おはよう」と入力してください。(サーバからのデータ受信後に送信されるデータを入力しています。)
- サーバプログラムが動作している状態で、「ポート1通信開始」をクリックしてください。
- サーバプログラムは以下のようになっているはずです。
クライアントである「SocketDebugger」がサーバに接続し、accept()が戻り、次の処理に進み、その結果サーバから「SocketDebugger」に「おはよう」というメッセージが送信されました。
「SocketDebugger」には「サーバからメッセージを受信したら「おはよう」というメッセージを返信せよ」と設定していたので、サーバへ「おはよう」メッセージが送信されました。
サーバは自分が「おはよう」メッセージを送った後、メッセージ受信待ち状態、つまり、recv()が戻らない状態でしたが、「SocketDebbuger」から「おはよう」メッセージが受信されたので、recv()が戻り、メッセージの表示、そして切断、終了と処理が進みました。
うまく動作したでしょうか。メッセージの内容を変えてみるなどして、より理解を深めていただければと思います。
では、次はクライアントを作成してみましょう。>>クライアントプログラミングって何?