再認証をせずに別のサーバに接続を切り替える

C# クライアントでは、SID と暗号化キーを保持したまま別のサーバへ接続を切り替えることが可能です。

この Migrate の機能は OnOffline などのイベントを受けとりサーバの接続を切り替えたい場合などに有効です。

以下の例で Migration の実行方法と処理を説明します。

NOTE: Migrate が成功した場合、 OnConnect が発火します。失敗した場合は OnResponse が発火し、接続に失敗した場合は、 OnException が発火します。

// This is to capture successful migration to another server
diarkisUdpClient.OnConnect += (bool reconnected) =>
{
   // reconnecting should be true when migration was successful
   if (reconnected)
   {
       /* Do something amazing */
   }
}

// This is to capture migration failure
diarkisUdpClient.OnResponse += (uint ver, uint cmd, uint status, byte[] payload) =>
{
    // This is the response of migration
    if (ver == (uint)0 && cmd == (uint)2)
    {
        // This means migration has failed
        if (status != diarkisUdpClient.STATUS_OK)
        {
            /* Handle error here */
        }
    }
}

// This is to execute server migration
diarkisUdpClient.Migrate();

サーバの種別を指定して Migrate を実施する

Diarkis のサーバはそれぞれにサーバの種別があります。個々にサーバの種別を指定して設定することが可能です。サーバの種別は同じ種別を持つサーバを複数存在させることも可能です。

Migration はこの種別を指定して実行することが可能です。

NOTE: もし存在しないサーバの種別を指定した場合は Migration は失敗します。この場合 OnResponse が発火します。

string serverType = "MY_AMAZING_UDP_SERVER";
diarkisUdpClient.Migrate(serverType);

最終更新