Sock-03.基本的な流れ
今回のお題
Socketを使った通信アプリケーションのざっくりとした流れの話!
C/S型
TCP/IPでの通信の基本はC/S型
C : クライアント
必要に応じてサーバにリクエストを出す
リクエストを出す際には、サーバのアドレスを指定する必要がある
IPアドレス
ポート番号
UDPかTCPか
サーバからのレスポンスを受け取り処理する
S : サーバ
クライアントからのリクエストを受け取る
リクエストに応じた処理を行い、必要に応じてレスポンスを返す
基本常時稼働
アドレスは固定...ころころ変わるとクライアントがリクエストを出せないから
IPアドレス
ポート番号
UDPかTCPか
TCP or UDP
通信時はTCPかUDPかを選択
TCP
信頼性が高い
通信速度はUDPに比べると遅い
コネクションの確立が必要
UDP
信頼性が低い
通信速度は速い
コネクションレス
Socketを利用した通信アプリケーションの種類
上記のもろもろを踏まえると、以下の4パターン
TCP クライアント
TCP サーバ
UDP クライアント
UDP サーバ
コーディングで一番簡単なのがUDPクライアント、一番面倒なのがTCPサーバ
受け取ったデータの処理を考えるとTCPのほうが楽
データの破損、再送…などをアプリケーションプロトコルで考える必要がないため
流れ
https://scrapbox.io/files/68e84a8b29c24efe7cc0501d.png
https://scrapbox.io/files/68e84aaac42ae199adf63970.png