ネットワークとそれに関連するものについてより多くの知識を得るために、node.js を使用して簡単なゲームを構築しようとしています。しかし今、私は立ち往生しています。髪を伸ばして数時間ウェブを検索してきましたが、解決策が見つからないようです. path.js や mime.js などの便利なモジュールをいくつか見つけただけです。
私のサーバーのコードは次のようになります。
var http = require("http");
var host = "127.0.0.1";
var port = 3000;
var url = require('url');
var fs = require("fs");
var path = require("path");
var mime = require('mime');
var server = http.createServer(function(request, response) {
console.log("Request received: " + request.url);
fs.readFile(__dirname + '/game.html', function(error, data) {
if (error) {
response.writeHead(404, {"Content-type":"text/plain"});
response.end("Sorry, the page was not found");
} else {
var holder = url.parse(request.url);
var ext = path.extname(holder.pathname);
response.setHeader('Content-type',"" + mime.lookup(ext));
response.writeHead(200);
response.end(data);
if (ext == ".png") {
response.setHeader('Content-type',"image/png");
response.writeHead(200);
response.end(data);
} else if (ext == ".jpeg") {
response.setHeader('Content-type',"image/jpeg");
response.writeHead(200);
response.end(data);
}
}
});
});
var io = require('socket.io').listen(server);
サーバー変数が問題を引き起こしているようです。私が実装しようとしているゲームはここにあります: http://jsfiddle.net/6mWkU/2/ グラフィックを気にしないでください ;)
私のサーバーのコードでは、どの画像も提供されません。path.js と mime.js を使用しようとしたため、呼び出しごとに特定の Content-type が設定されましたが、機能しませんでした。
何が問題なのか、初心者を助けることができることを願っています。