C# SDK による Diarkis Cloud への接続方法

 
このエントリでは、C#クライアントSDKを用いてDiarkis Cloudへ接続する方法を解説します。
下記の図は、Diarkis Cloudとデバイスおよびアプリケーションサーバとの接続関係を示した構成図です。
 

接続エンドポイントの取得

Diarkis C#クライアントを使用するには、TCP及びUDP/RUDPエンドポイントを取得する必要があります。
エンドポイントは、Diarkis Cloudが提供するREST APIエンドポイントから取得することができます。
REST APIエンドポイントは、WebコンソールからDiarkis Cloudのクラスタを展開すると生成されます。
クラスタの展開方法は こちら のエントリをご覧ください。
実サービス環境でアプリケーションを提供する場合、ユーザのデータや認証などを管理するために、前項の図にあるようなDiarkis Cloudとは別のアプリケーションサーバを用意することを推奨します。
REST APIでは、リクエスト元のクライアントを一意に識別するために、リクエストURIにユーザーIDを指定する必要があります。
ユーザーIDは、接続元のアプリケーションで指定してください。
REST APIでは、リクエストヘッダーに “ClientKey” を指定する必要があります。
“ClientKey” に指定する値は、Diarkis CloudのWebコンソールから取得することができます。
リクエストが成功すると、以下の例のようなJSON形式のレスポンスが返されます。

イベント発火のために Update メソッドを呼ぶ

Diarkis の TCP、UDP/RUDP クライアントはネットワークスレッドからのイベントを発火させるために Update メソッドを呼ぶ必要があります。
Unity ゲームエンジンを使っている場合は以下のように Unity の Update メソッドの中で呼ぶ必要があります。

UDP/RUDPで接続する

エンドポイント情報を取得することで、Diarkis Cloudへ接続する準備が整いました。
以下の例は、パケット暗号化キー(sid, encryptionKey, encryptionIV, encryptionMacKey)を用いて接続するものです。
: UDPには厳密には “接続” という概念がありませんが、ここでは便宜上 “接続” という用語を使用しています。

UDP接続を終了する

以下の例は、UDP接続とそのイベントリスナーを終了する方法です。

TCPで接続する

以下の例は、パケット暗号化キー(sid, encryptionKey, encryptionIV, encryptionMacKey)を用いてTCP接続するものです。

TCP接続を終了する

以下の例は、TCP接続とそのイベントリスナーを終了する方法です。

おわりに

本エントリでは、Diarkis C# クライアントSDKを用いて、Diarkis Cloudとのリアルタイム通信を実装する方法を紹介しました。
Diarkisは標準でパケットを暗号化する方法を提供しているため、開発者は通信内容の暗号化を気にせず、アプリケーションの開発に集中できます。