リアルタイムサーバークライアント API (C#) リファレンス: アクション
この C# リアルタイムクライアント API リファレンスは、Amazon GameLift フリートにデプロイされたリアルタイムサーバーで使用するマルチプレイヤーゲームを準備するのに役立ちます。
Client()
Realtime サーバーと通信するように新しいクライアントを初期化し、使用する接続のタイプを識別します。
構文
public Client(ClientConfiguration configuration)
パラメータ
- clientConfiguration
-
クライアント/サーバー接続タイプを指定する設定の詳細。このパラメータを指定しないで Client() を呼び出すことを選択できます。ただしこのアプローチでは、デフォルトでセキュリティ保護なしの接続になります。
タイプ: ClientConfiguration
必須:いいえ
戻り値
Realtime サーバーとの通信に使用するリアルタイムクライアントのインスタンスを返します。
Connect()
ゲームセッションをホストしているサーバープロセスへの接続をリクエストします。
構文
public ConnectionStatus Connect(string endpoint, int remoteTcpPort, int listenPort, ConnectionToken token)
パラメータ
- エンドポイント
-
接続するゲームセッションの DNS 名または IP アドレス。エンドポイントは
GameSession
オブジェクトで指定されます。このオブジェクトは AWSSDK Amazon GameLift API アクション StartGameSessionPlacement、CreateGameSession、または DescribeGameSessions のクライアント呼び出しに応じて返されます。注記
TLS 証明書の生成が有効になっているフリートで Realtime サーバーが実行されている場合は、DNS 名を使用する必要があります。
型: 文字列
必須: はい
- remoteTcpPort
-
ゲームセッションに割り当てられている TCP 接続のポート番号。この情報は、
GameSession
オブジェクトで指定されます。これは、StartGameSessionPlacement、CreateGameSession、または DescribeGameSession リクエストに応答して返されます。型: 整数
有効な値: 1900 ~ 2000。
必須: はい
- listenPort
-
ゲームクライアントが UDP チャンネルを使用して送信されたメッセージをリッスンしているポート番号。
型: 整数
有効な値: 33400 ~ 33500。
必須: はい
- トークン
-
サーバープロセスにリクエストしているゲームクライアントを識別するオプションの情報。
タイプ: ConnectionToken
必須: はい
戻り値
クライアントの接続ステータスを示す ConnectionStatus 列挙値を返します。
Disconnect()
ゲームセッションに接続すると、ゲームクライアントをゲームセッションから切断します。
構文
public void Disconnect()
パラメータ
このアクションにはパラメータがありません。
戻り値
このメソッドは何も返しません。
NewMessage()
指定されたオペレーションコードで新しいメッセージオブジェクトを作成します。メッセージオブジェクトが返されたら、ターゲットを指定し、配信方法を更新します。必要に応じてデータペイロードを追加して、メッセージの内容を完成させます。完了したら、SendMessage()
を使用してメッセージを送信します。
構文
public RTMessage NewMessage(int opCode)
パラメータ
- opCode
-
プレイヤーの移動やサーバーの通知など、ゲームのイベントやアクションを識別する開発者定義のオペレーションコード。
型: 整数
必須: はい
戻り値
指定されたオペレーションコードとデフォルトの配信方法を含む RTMessage オブジェクトを返します。配信インテントパラメータはデフォルトで FAST
に設定されています。
SendMessage()
指定された配信方法を使用して、プレイヤーまたはグループにメッセージを送信します。
構文
public void SendMessage(RTMessage message)
パラメータ
- message
-
ターゲット受信者、配信方法、およびメッセージの内容を指定するメッセージオブジェクト。
タイプ: RTMessage
必須: はい
戻り値
このメソッドは何も返しません。
JoinGroup()
指定されたグループのメンバーシップにプレイヤーを追加します。グループには、ゲームに接続しているすべてのプレイヤーを含めることができます。参加すると、プレイヤーはグループに送信された今後のメッセージをすべて受信し、グループ全体にメッセージを送信できます。
構文
public void JoinGroup(int targetGroup)
パラメータ
- targetGroup
-
プレイヤーを追加するグループを識別する一意の ID。グループ ID は開発者定義です。
型: 整数
必須: はい
戻り値
このメソッドは何も返しません。このリクエストは信頼できる (TCP) 配信方法を使用して送信されるため、失敗したリクエストはコールバックをトリガーしますOnError()。
LeaveGroup()
指定されたグループのメンバーシップからプレイヤーを削除します。グループに参加しなくなったプレイヤーは、グループに送信されたメッセージを受信せず、グループ全体にメッセージを送信することもできません。
構文
public void LeaveGroup(int targetGroup)
パラメータ
- targetGroup
-
プレイヤーを削除するグループを識別する一意の ID。グループ ID は開発者定義です。
型: 整数
必須: はい
戻り値
このメソッドは何も返しません。このリクエストは信頼できる (TCP) 配信方法を使用して送信されるため、失敗したリクエストはコールバックをトリガーしますOnError()。
RequestGroupMembership()
指定されたグループのプレイヤーのリストをゲームクライアントに送信するようにリクエストします。グループのメンバーであるかどうかにかかわらず、どのプレイヤーでもこの情報をリクエストできます。このリクエストに応答して、メンバーシップリストは OnGroupMembershipUpdated() コールバックを介してクライアントに送信されます。
構文
public void RequestGroupMembership(int targetGroup)
パラメータ
- targetGroup
-
メンバーシップ情報を取得するグループを識別する一意の ID。グループ ID は開発者定義です。
型: 整数
必須: はい
戻り値
このメソッドは何も返しません。