我发现至少有两种方法可以做到这一点。第一种方法是创建一个HTTP服务器,尽管第二种方式没有。 我无法找到任何具体的教程。
案例I
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
http.listen(3000);
案例II
var app = require('express')();
var port = process.env.PORT || 3000;
var io = require('socket.io').listen(app.listen(port));
这两种方法有何不同?为什么第二种方法不需要HTTP服务器?
答案 0 :(得分:3)
app.listen()
为您创建了一个http服务器(表示允许您使用的快捷方式)。
以下是app.listen()
的代码:
app.listen = function(){
var server = http.createServer(this);
return server.listen.apply(server, arguments);
};
此Express代码为here。