var http = require('http');まず最初に行うのは、必要なライブラリ類のロードです。これは「require」という関数を使って行います。引数に、読み込むオブジェクト名を指定することで、そのオブジェクトが読み込まれて返されます。これを変数に代入して利用することになります。
var server = http.createServer();httpオブジェクトの「createServer」メソッドを呼び出してhttp.Serverオブジェクトを作成します。これが、いわばNode.jsの「サーバー」となる部分です。このオブジェクトを用意し、必要な設定をしてからサーバーとして実行します。ここでは引数なしで呼び出していますが、以下のように書くこともできます。
http.createServer(function(○○){おそらく、Node.jsのサイトやその他の解説サイトを見ると、たいていはこの書き方をしているはずです。createServerの引数に、サーバーでリクエストを受け取った時の処理を関数として用意しておく書き方です。また、その後にlistenという待受のためのメソッド(後述)も続けて書いてあります。
……処理が書いてある……
}).listen(○○);
server.on('request', doRequest);http.Serverオブジェクトには、さまざまなイベントが用意されており、その処理を組み込むためのメソッドも用意されています。「on」というメソッドは、指定のイベント処理を組み込むためのもので、第一引数にイベント名を、第2引数に組み込む処理(関数)をそれぞれ指定します。
server.listen(1234);http.Serverオブジェクトの準備が整ったら、「listen」メソッドを実行します。これにより、サーバーは待ち受け状態となり、クライアントからリクエストがあればそれを受け取り処理するようになります。引数にはポート番号を指定してあります。第2引数としてホスト名を指定したり、第3引数にバックログを指定したり、第4引数にコールバック関数を用意したりすることもできるんですが、とりあえず「第1引数にポート番号」だけ覚えておけば十分です。
console.log('Server running!');listenで待ち受けスタートした所で、メッセージをコンソールに出力しています。consoleはコンソールを扱うためのオブジェクトで、「log」でログ出力を行うことができます。ちょっとしたデバッグ用にログの出力は覚えておくと重宝するでしょう。
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
※前回作成のスクリプト var http = require('http'); var server = http.createServer(); server.on('request', doRequest); server.listen(process.env.PORT, process.env.IP); console.log('Server running!'); // リクエストの処理 function doRequest(req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.write('Hello World\n'); res.end(); }
次へ >> |