如何初始化socket.io的实例?

时间:2015-01-04 08:28:03

标签: node.js express websocket socket.io

我发现至少有两种方法可以做到这一点。第一种方法是创建一个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服务器?

1 个答案:

答案 0 :(得分:3)

app.listen()为您创建了一个http服务器(表示允许您使用的快捷方式)。

以下是app.listen()的代码:

app.listen = function(){
  var server = http.createServer(this);
  return server.listen.apply(server, arguments);
};

此Express代码为here