令和5年度 春期 午前Ⅱ 問22
システム構成要素
Web ブラウザや HTTP を用いず,独自の GUI とデータ転送機構を用いた,ネットワーク対戦型のゲームを作成する。仕様の (2) の実現に用いることができる仕組みはどれか。
〔仕様〕
(1) ゲームは囲碁や将棋のように 2 人のプレーヤの間で行われ,ゲームの状態はサーバで管理する。プレーヤはそれぞれクライアントプログラムを操作してゲームに参加する。
(2) プレーヤが新たな手を打ったとき,クライアントプログラムはサーバにある関数を呼び出す。サーバにある関数は,その手がルールに従っているかどうかを調べて,ルールに従った手であればゲームの状態を変化させ,そうでなければその手が無効であることをクライアントプログラムに知らせる。
(3) ゲームの状態に変化があれば,サーバは各クライアントプログラムにその旨を知らせることによって GUI に反映させる。
- アCGI
- イPHP
- ウRPC
- エXML
答えと解説を見る
✓ これが正解ウRPC
解説
クライアントからサーバにある関数を呼び出す仕組みは RPC です。
見分ける軸は、仕様の (2) が求めているのが、クライアントからサーバにある関数を呼び出すことだという点です。RPC は、ネットワークを隔てた別のコンピュータにある手続や関数を、手元の関数を呼ぶのと同じ感覚で呼び出せる仕組みです。呼び出す側は引数を渡し、サーバ側で処理した結果を戻り値として受け取ります。設問のゲームでは、クライアントプログラムが新たな手を引数にしてサーバの関数を呼び、サーバはルールに合うかを調べて、無効なら結果としてそのことを返します。Web ブラウザも HTTP も使わないという条件も手掛かりです。遠くの関数を呼ぶなら RPC、と名前の意味で覚えると選べます。
ほかの選択肢はなぜ違うのか
- アCGI:CGI は、Web サーバが HTTP の要求を受けて外部のプログラムを起動し、その結果を返す仕組みです。Web サーバと HTTP を前提にしているので、Web ブラウザや HTTP を用いないという設問の条件に合いません。
- イPHP:PHP は、主に Web サーバ上で動かして動的な Web ページを作るために使われるプログラム言語です。言語の名前であり、クライアントからサーバの関数を呼び出す仕組みそのものではありません。
- エXML:XML は、タグを使ってデータの構造を記述するためのマークアップ言語です。データを表す形式であり、クライアントプログラムからサーバにある関数を呼び出す仕組みではありません。
この問題の用語
- HTTPWebブラウザとWebサーバがページをやり取りするための決まりごと。ブラウザが要求を送り、サーバが応答を返す形で通信します。
出典:令和5年度 春期 システムアーキテクト試験 午前Ⅱ 問22
同じ用語が出る問題
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)