unity 3 dがwebglをリリースしてnodejsを使ってサーバーの実践をします.

2695 ワード

3 dアプリケーションはブラウザで走るのは止められない傾向です.この方向の需要もだんだん多くなりました.この間ウェブページ版の実験ホールを発表しました.自分のパソコンでiisに発表しました.問題はありませんが、サーバーでテストしても実現できません.最後はしょうがないです.ネットのお客さんが見たいです.iTにポートを作ってこのコンピュータに写像させるしかないです.
最近このような小さなプログラムが発見されました.強力なバックグラウンドシステムがなく、簡単なnodejsサーバーですべての要求が実現できます.サーバーが高いということですが、実はスクリプトです.実際に他のiisサーバーではテストできない問題点を発見しました.
次は一つを実現しましょう.
一、nodejsサービス端末のプログラムをインストールする
https://nodejs.org/en/download/
中に入って対応するプラットフォームによってダウンロードしてから本機にインストールします.インストールが完了したら直接にコマンドラインであなたの書いたjsコードを実行できます.
二、静的ファイルのnodeサーバを書き込みます.
/**
 * Created by Danny on 2015/9/20 9:34.
 */
var http = require("http");
var fs = require("fs");
var url = require("url");
var path = require("path");

var server = http.createServer(function(req,res){
    //  url  ,     
    var pathname = url.parse(req.url).pathname;
    //        (unity              )
    if(pathname == "/"){
        pathname = "index.html";
    }
    //      (             static     )
    var fileURL = "./" + path.normalize("./static/" + pathname);
    //     
    var extname = path.extname(pathname);

    //              console.log("fileURL:" + fileURL);

    //   
    fs.readFile(fileURL,function(err,data){
        if(err){
            //     
            res.writeHead(404,{"Content-Type":"text/html;charset=UTF8"})
            res.end("404,       :" + fileURL);
        }
      //       
        getMime(extname,function(mime){
            res.writeHead(200,{"Content-Type":mime})
            res.end(data);
 console.log("extname:" + extname);
        });
    });
});

//      ip,   80  
server.listen(80,"10.0.0.51");

function getMime(extname,callback){
    fs.readFile("./mime.json",function(err,data){
        if(err){
            throw Error("   mime.json:" + extname);
            return;
        }
        //  JSON  
        var mimeJSON = JSON.parse(data);
        var mime =  mimeJSON[extname]  || "text/plain";
        //      
        callback(mime);
    });
}
三、mime.jsonフォルダにユニティ3 dを追加してwebglをリリースしたら必要なタイプ
「.memgz」:「aplication/octet stream」、  「.datagz」:「aplication/octet stream」、  「.unity 3 dgz」:「aplication/octet stream」、  「.jsgz」:「aplication/x-javascript;charset=UTF-8」、  「.*」:「aplication/octet stream」
四、運行テスト
サーバーがないなら、このマシンでテストしてください.ipを使って127.1.0.1に変えます.
包装したwebglファイルを全部staticフォルダに入れます.この時にすべてが準備されます.
cmdモードでは、cdはサーバースクリプトjsのディレクトリに行き、node**を書き込み、(*は足の名前を指し、jsを入れない)を押してください.
カーソルフラッシュが間違っていないということは、サービスが起動したということです.
あなたのアプリケーションにアクセスするには、本機のfirefoxやchemeなどのwebglの高級特性をサポートするブラウザにあなたのipとポートを書くと、あなたのネットワークプログラムが使えます.