socket.io监听express服务器的含义是什么?

3

我正在阅读socket.io的使用说明,下面这段代码我无法理解:

服务器端(app.js)

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

server.listen(80);
< p >“io = require('socket.io').listen(server)”的意思是什么?它只是使用与socket.io和express相同的配置吗?


如果您觉得您的问题没有得到很好的回答,请添加评论以解释缺少什么。 - Denys Séguret
1个回答

2

listen函数的参数是一个http事件处理程序,例如从http.Server获取的处理程序(它也可以接受一个端口,在这种情况下,listen函数创建http服务器)。

http.createServer函数从请求监听器创建一个http服务器。而这就是express应用程序的本质:一个请求监听器,可以在此处看到:

function createApplication() {
  var app = function(req, res, next) {
    app.handle(req, res, next);
  };
  ...
  return app;
}

当然,您不需要使用express来使用socket.io,您可以简单地将端口或任何http.Server实例传递给listen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接