別の計算機の関数を呼び出すRPC

RPC(Remote Procedure Call) は,ネットワーク越しに別プロセスの関数や手続きを呼び出す仕組みです。仕様(2)は,クライアントからサーバ上の関数を呼び出して結果を受け取るため,RPCが対応します。 CGIはWebサーバが外部プログラムを実行する仕組みで,本問はHTTPを使いません。 PHPはプログラム言語であり,遠隔の関数呼出し方式の名称ではありません。 XMLは構造化データの記述形式です。

Web ブラウザや HTTP を用いず,独自の GUI とデータ転送機構を用いた,ネットワーク対戦型のゲームを作成する。仕様の(2)の実現に用いることができる仕組みはどれか。

〔仕様〕

  1. (1)

    ゲームは囲碁や将棋のように2人のプレーヤの間で行われ,ゲームの状態はサーバで管理する。プレーヤはそれぞれクライアントプログラムを操作してゲームに参加する。

  2. (2)

    プレーヤが新たな手を打ったとき,クライアントプログラムはサーバにある関数を呼び出す。サーバにある関数は,その手がルールに従っているかどうかを調べて,ルールに従った手であればゲームの状態を変化させ,そうでなければその手が無効であることをクライアントプログラムに知らせる。

  3. (3)

    ゲームの状態に変化があれば,サーバは各クライアントプログラムにその旨を知らせることによって GUI に反映させる。

出典令和5年度 春期 システムアーキテクト試験 午前Ⅱ 問22
ア
CGI
イ
PHP
ウ
RPC
エ
XML