接続解除

参加プレイヤーが DISCONNECT メッセージ をホストプレイヤーに送信すると、接続解除が発生します。これによって、ゲームセッション内のホストプレイヤーからのみ、プレイヤーの接続が解除されます。Relay サーバーからプレイヤーの割り当てが削除されることはありません。

Relay サーバーへの接続を閉じる

Relay サーバーからプレイヤーの割り当てを解除する (プレイヤーの割り当てを Relay サーバーから削除する) には、Relay サーバーに CLOSE メッセージ を送信する必要があります。結果として、接続を閉じたプレイヤーは、接続フロー を通じて Relay サーバーに再バインドする必要があります。

一般的なゲームセッションでは、すべてのプレイヤーが各自の接続を閉じ、最後にホストプレイヤーが自分の接続を閉じます。参加コードを作成したのはホストプレイヤーであるため、接続を閉じると Relay で以下の処理がトリガーされます。

  • ホストプレイヤーの割り当てと、そのプレイヤーが作成した 参加コード を解放する。
  • ホストプレイヤーの Relay サーバーへの接続を終了する。

ある プレイヤー が接続を閉じると、Relay サーバーはその接続が解除されたプレイヤーを削除するために、接続されているすべてのプレイヤーを更新します。これにより、Relay サーバー の接続スロットが 1 つ空きます。

Relay サーバーは、接続がタイムアウトした 場合にも、プレイヤーの接続を解除します。接続を維持する ことで、タイムアウトを回避できます。

ノート: Relay には、CLOSE メッセージを通じて Relay サーバーからホストプレイヤーの接続が解除されたときに、ホストを移行する機能は備わっていません。ただし、残りのプレイヤーをロビーに配置し、新しいホストを選択するカスタムロジックは追加できます。ホスト移行 を参照してください。