2012年04月08日

[Web+Unity] node.jsを使ってみる(Unity⇔さくらVPS編) その1

前回の「[Web] node.jsを使ってみる(さくらVPS編)」の続きです。

AndroidアプリでもUnityで実装したいので、こんな風に項目が増えました↓

(1) ローカル環境でnode.jsを動かす
(2) さくらVPSでnode.jsを動かす
(3) AndroidアプリとさくらVPSのnode.jsを連携させる
(3-1) UnityエディタからPOSTしてnode.jsから値を返す ← 今回はこれ
(3-2) UnityエディタからPOSTしてデータベース(MySQL)と連携する
(3-3) Android端末からPOSTしてデータベース(MySQL)と連携する


================================================================
前回の記事で使ったさくらVPSの環境をそのまま使います。
違うのは、

・「server_http.js」というファイルを新しく作って、これを使ったこと。
・Unity側でスクリプト(Javascript)を用意したこと

の2点だけです。

(1) Unity側で新しくスクリプト(Javascript)を用意する
↓のサイトを参考にしました

unityとPHPのやり取り POSTを使ったデータ送信
http://gpfuntou.seesaa.net/article/240557931.html

※スクリプトの適用手順は割愛しています
※[提供されたIPアドレス]は適宜書換えてください
-------------------------------------
#pragma strict
function Start () {
// 送信先のURLを指定
var url = "http://[提供されたIPアドレス]:8124/";
//指定urlにデータを送信
var wwwForm:WWWForm = new WWWForm();
wwwForm.AddField("score", "10");
// POSTで送信
var gettext : WWW = new WWW(url, wwwForm);
// 取得するまで待つ
yield gettext;
// 200が返れば成功
Debug.Log(gettext.text);
}
-------------------------------------

(2) node.js側で新しくファイル(server_http.js)を用意する
UnityエディタからPOSTを受け取ったら、200を返す簡単な処理を行います。
ブラウザで見ようとGETで通信すると、Bad Request(400)を返すようにしました。
※[提供されたIPアドレス]は適宜書換えてください
-------------------------------------
// サーバのアドレスとポート
var HOSTNAME = '[提供されたIPアドレス]';
var PORT = 8124;
var express = require('express'),
ejs = require('ejs');
var app = express.createServer();
app.use(express.bodyParser());
app.register('.ejs', ejs);

// ルート GET
app.get('/', function(req, res) {
// Bad Request(400)を返す
res.end('Bad Request(400)');
});

// ルート POST
app.post('/', function(req, res) {
// POSTパラメーターを取得
console.log(req.body.score);
// OK(200)を返す
res.end('200');
});

app.listen(PORT, HOSTNAME);
-------------------------------------

(3)動作確認
さくらVPSっで「server_http.js」を実行します。
$ node server_http.js

Unity側で再生ボタンを押します。

さくらVPS側コマンドライン → 10
Unity側コンソール画面 → 200

が表示されたら成功です。
ブラウザで見ると↓

20120408nodejs002.png

よーし、次はMySQLとの連携だー。
posted by be-style at 20:11| Comment(0) | Unity
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]