[Unity] Azure使えば、ソシャゲ作成も簡単!?(その3)

今回のメニューはこちら!

Unityの登場です

今回は、Unityとローカルサーバーでアクセスするところまでです。





Unityからローカルサーバーにアクセス

まず、適当にUnityでプロジェクトを作成するか、すでに作成してるプロジェクトを用意してください。
そうしたら、プロジェクトに先ほど作った "AzureHelper.dll" を入れてやってください。
あとはこちらで用意した、サンプルのファイルを2つ入れてしまいましょう。

追加するファイル

  • AzureHelper.dll
    作ったDLLファイルです。
  • AzureSample01.cs
    サーバーと通信するためのサンプルです。実際は、スレッドで処理しますよ。
  • CreateKeys.cs
    暗号キーを作成するサンプルです。詳しくは最後で。

シーンに配置

シーンの適当なオブジェクトに、AzureSample01コンポーネントを追加してください。
これで準備は完了です。

実行してみよう

  • まずは、サーバーを実行してブラウザが立ち上がっている状態にしましょう。
  • 次に、Unityのシーンを実行します。
Unityの出力に、こんな結果がでれば成功です!





少しだけ解説

var request = apiApp.BuildBaseRequest("GET", "values", "accountName", addHeader);
REST的な HttpWebResponse を作成します。addHeaderとかは、サーバーサイドと同じ感じですね。
using (var res = request.GetResponse() as System.Net.HttpWebResponse)
HttpWebResponseにすることで、StatusCodeとvalueを取得できるようにしています。
var con = sr.ReadToEnd();
ここで、valueの値をもらいます。たいてい jsonに変換されているので、必要に応じてデシリアライズしましょう。

デバッグも便利

サーバーのほうも、ブレークポイントをつけていれば直接デバッグできます!なんて便利!もちろん、Unityのほうと同時にデバッグもできますよ。





暗号キーをつくろう


シーンの適当なオブジェクトに、CreateKeysコンポーネントを追加して、実行してください。そうすると、暗号キーが作られます。



Unityの出力に、こんな感じででてきますので、サーバーサイドのプロジェクトのほうに、これを利用します。
上から順に、REST.cs の publicKey, privateKey, HashKey に入れて利用します。
サンプルのコードそのままだと同じキーになるのでセキュリティーの意味がないですからね。key3つ分が作成できたら、同じ値を ApiApp.csにHashKey、ApiAppREST.csにpublicKey,privateKeyを入れましょう。

最後に

サーバーサイドとかクライアントサイドとか言っていますが、ここまでC#しか出てきてません。Unity使いには特に区別なく使えているのではないでしょうか。というか、区別する必要はないと思います。コードも使いまわせるようになるし、やったよC#。

次回は・・・

Azureに設置して動かす、です。



0 件のコメント :

コメントを投稿