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

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);