2016-05-09 6 views
0

私はnode.jsを使い始めました。リクエストに応答し、エクスプレスフレームワークを使って基本的なルーティングを行うシンプルなアプリケーションをビルドできます。node.jsではsocket.io/expressアプリケーションをビルドするときにhttpが必要ですか?

私はsocket.ioを使用して何かを作成しようとしていますが、私は 'http'モジュールの使用に関して少し混乱しています。私は、httpが何であるかを理解するが、私は仕事に、次のためにそれを必要としていないようです:

var express = require('express'); 
var app = express(); 

app.get('/', function (req, res) { 
    res.sendFile(__dirname + '/index.htm'); 
}); 

app.listen(3000, function() { 
    console.log('Example app listening on port 3000!'); 
}); 

私のような何かを明示的にHTTPモジュールを必要とせずにHTTP経由でHTMLページを提供することができます

var http = require('http'); 

私がexpressを使用しているのであれば、私はhttpモジュールを使用していますか?

答えて

4
var express = require('express'); 
var app  = express(); 
var server = require('http').createServer(app); 
var io  = require('socket.io').listen(server); 
... 
server.listen(1234); 

var app = require('express').createServer(); 
var io = require('socket.io')(app); 

//あなたの急行とsocket.ioコードはここに行く: 次のようなものを使用することができますあなたはHTTPサーバを自分で作成しなくても似たような達成することができます書き換えのビット:

var express = require('express'); 
var app  = express(); 
var socketio = require('socket.io'); 

// app.use/routes/etc... 

var server = app.listen(3033); 
var io  = require('socket.io').listen(server); 

io.sockets.on('connection', function (socket) { 
    ... 
}); 

ソース

http://stackoverflow.com/questions/17696801/express-js-app-listen-vs-server-listen 
1

いいえ、おそらくそれは必要ありません。しかし、app.listenは()も持つので、HTTPサーバーのインスタンスを返します

関連する問題