接続の許可と拒否
Boltは、接続試行を受信すると、その接続が確立する前およびクライアントがシーンを読み込む前に接続の許可・拒否を行うことができます。通常、Bolt設定でAccept Modeを手動に設定しない限り、自動的にすべての接続が許可されます(以下の図をご覧ください)。サーバーが満杯状態などは受信した接続を拒否する一例です。

クライアントは接続時にサーバーへトークンを送信することができます(パスワードで保護されたゲームセッションやへ入るときや、サードパーティセッションチケット使用時など)。このトークンはConnectionRequestへ受け渡され(以下を参照)、さらに接続完了などのコールバックから使用できるBoltConnection(ConnectToken)のメンバーとして利用可能なハンドシェイクまで到達します。
クライアント上では、BoltNetwork.Connectのバリエーションを使用して、リクエストをサーバーへ送信し接続を試行できます。
C#
public static void BoltNetwork.Connect(UdpSession session, IProtocolToken token);
public static void BoltNetwork.Connect(UdpSession session);
public static void BoltNetwork.Connect(UdpEndPoint endpoint, IProtocolToken token);
public static void BoltNetwork.Connect(UdpEndPoint endpoint);
接続メソッドを呼び出した後、以下のコールバックによってこのピアがサーバーへの接続を試行していることが通知されます。
C#
public virtual void GlobalEventListenerBase.ConnectAttempt(UdpEndPoint endpoint, IProtocolToken token);
サーバーでは、新しいプレイヤーが接続を試行した時に以下のリクエストを受け取ります。
C#
public virtual void GlobalEventListenerBase.ConnectRequest(UdpEndPoint endpoint, IProtocolToken token);
クライアントはサーバーへの接続時にトークンを受け渡すことができます。このトークンはサーバー上のConnectionRequestコールバックとConnectedコールバックの両方で使用されます。
*Accept Mode(許可モード)*が手動になっている場合は、以下のいずれかを呼び出す必要があります。
C#
public static void BoltNetwork.Accept(UdpEndPoint endpoint);
public static void BoltNetwork.Accept(UdpEndPoint endpoint, IProtocolToken acceptToken);
または
C#
public static void BoltNetwork.Refuse(UdpEndPoint endpoint);
public static void BoltNetwork.Refuse(UdpEndPoint endpoint, IProtocolToken refuseToken);
これらのメソッドにより、必要であればトークンを返すことができるようになります。ユーザーへの表示のためテキスト変換できるエラーメッセージ結果などのクライアントへの応答にご利用ください。
接続が許可されると、クライアントは以下のコールバックを受信します。
C#
public virtual void GlobalEventListenerBase.Connected(BoltConnection connection);
または、接続が拒否された場合はこちらを受け取ります。
C#
public virtual void GlobalEventListenerBase.ConnectRefused(UdpEndPoint endpoint, IProtocolToken token);
クライアントはConnectedコールバック内のBoltConnection.AcceptTokenでAcceptトークンを取得できます。
以下の一連の図に全体のプロセスがまとまっています。
