ネットワークとは何ですか?
クライアントとサーバーがデータを送受信する方法
本ブログ作成文は、講義を目指して製作されました。 また、作成された文章の情報も間違っている可能性がありますので、ご注意ください。
ネットワークは、離れたコンピュータが定められた規則に従ってデータを送受信する構造だ。 オンラインゲーム、Webブラウザ、チャットプログラムも基本的にはデータを送り、応答を受ける過程で始まる。
住所とポートでプログラムを探す
IPアドレスはネットワークでコンピュータを探すためのアドレスだ。 ポート番号は、そのコンピュータ内でどのプログラムと通信するかを区別します。
192.168.0.10:7777
└─IPアドレス└─ポート
サーバーは特定のポートで要求を待ち、クライアントはサーバーのアドレスとポートに接続しようとします。 接続された後には、両方が約束した形のメッセージを送受信する。
プロトコルはデータ交換規則である
送ったバイトだけ報告はそれがログイン要求なのかキャラクタの位置なのか分からない。 そのため、メッセージの種類、長さ、値の順序をあらかじめ決めておく。
[メッセージ種類][データ長][実データ]
[MOVE ][12 ][x, y, z]
この約束をプロトコルと呼びます。 サーバーとクライアントが同じ規則を使用しないと、正常に解釈できません。
TCPとUDP
TCPは、データが順番に到着していることを確認し、失われた場合に再送信します。 ファイル転送、ログイン、チャットなど、正確性が重要な作業に使用するのが良い。
UDPは、接続と再送管理が単純で遅延を減らしやすいです。 代わりに、データが消えたり、順序が変わったりする可能性があるため、プログラムは必要な信頼性処理を決定する必要があります。
TCP:正確な配信を優先します。
UDP:迅速な配信と最新の状態を優先するのは良いです。
オンラインゲームは遅れを隠さなければならない
ネットワークデータはすぐには到着しません。 クライアント画面を滑らかにするために予測と補間を使用し、重要な決定はサーバーが最終的に決定する構造を頻繁に使用します。
ネットワークプログラミングの開始は複雑な同期ではありません。 1つのクライアントが1つの文字列を送信し、サーバーが同じ文字列を返す小さなEchoプログラムから、接続、メッセージ、エラー処理を確認することをお勧めします。