【応用】3.クライアントとサーバー

応用編

こんにちは、ロブスタのハルです。
前回はToolsについて解説しました。
今回はゲーム制作で重要な概念がいねんであるクライアントサーバーモデルについて解説します。

前回の記事を見ていない方はこちらからどうぞ!

はじめに

私たちの身の回りのスマホ、パソコン、タブレットなどはそれ単体だとできることが少ないですよね。そこで普段ふだんはインターネットに接続せつぞくをすることでより便利な機能きのうを利用しています。

便利な機能とは例えば、Webブラウザや動画配信サイトで情報を検索けんさくしたり、ECサイトで買い物をすることです。

では、これらはどうしてできるのでしょうか?

答えは情報を管理しているコンピュータとそれを受け取るコンピュータがやりとりをしているからです。

クライアントサーバーモデル

先ほど情報を管理しているコンピュータとそれを受け取るコンピュータがやりとりをしていると説明しました。

この情報を管理しているコンピュータのことをサーバー、情報を受け取るコンピュータのことをクライアントと呼びます。

そしてクライアントとサーバーがやりとりをすることで情報通信を行うことをクライアントサーバーモデルと言います。

クライアントとサーバーの具体例

クライアントにはノートパソコンやデスクトップパソコン、スマホ、タブレットなど私たちが実際に操作そうさする端末たんまつが含まれています。

一方でサーバーは情報を管理しているコンピュータと思ってもらえれば大丈夫です。情報・・について具体的な例をげると、ファイルやデータ、アプリやソフトなどのサービス、コンテンツがあります。

クライアントとサーバーの役割

クライアントはサーバーに対して○○をしてくださいというリクエスト(要求)を送ります。

サーバーはクライアントからのリクエストを受け取って処理を行い、その結果をレスポンスとして返します。

ここで知っておいてほしいのが1台のサーバーに対して複数のクライアントからリクエストが来るということです。

あるお店(サーバー)に対して複数のお客さん(クライアント)が来てサービスを受けると考えればわかりやすいですね。

Robloxにおけるクライアントサーバーモデル

クライアントサーバーモデルはWebをはじめとする様々な場所で使われる概念ですが、Robloxでは上記のような処理が存在します。

クライアントサイド処理は各自のスマホやパソコンで行われるもので、Aさんのスマホで実行された処理の結果がBさんのスマホに表示されることはありません

サーバーサイド処理はサーバーで行われるものであるため、そのゲームに参加している全員のスマホやパソコンで実行結果が表示されます

また、クライアントサイドとサーバーサイドを繋ぐ処理(リクエストとレスポンスのやり取り)をするために上記のオレンジで囲まれたような処理が存在します。

最後に

今回はクライアントサーバーモデルについて簡単に紹介しました。
しっかりとしたゲームを開発する際には必ず知っておかなければならない知識なので黄色のアンダーライン部分だけでも頭に入れておいてくださいね。

今後はこのクライアントサーバーモデルを前提とした処理がどんどん登場します。
具体的な動きについてはそのときにわかると思うので楽しみにしていてください。

コメント

タイトルとURLをコピーしました