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