[英]socket.io setting for expressjs
我只是尝试使用“ Socket.io”进行初始设置,文档中显示以下代码
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
server.listen(80);
这是我的原始代码。
var app = require('express')();
app.listen(80);
两者有什么区别? 具体来说2个问题。
我查找了node.js和express.js的文档,但听不懂...
非常感谢您的全面解释...
您的原始代码正在使用Express为您创建HTTP服务器。 可以执行app.listen()的原因是因为它还会返回服务器实例,因此从本质上来说,它是一种便捷的方法:
app.listen = function() {
var server = http.createServer(this);
return server.listen.apply(server, arguments);
};
您的示例中的初始设置是以下内容的简写:
var http = require('http');
var server = http.createServer();
var express = require('express');
var app = express();
var socketio = require('socket.io');
server.on('request', app);
var io = socketio(server);
server.listen(80);
在此示例中,您将为Web套接字创建一个新的连接服务器,并将其自己集成到http服务器中。 将app
作为Server的参数传递的原因是,对于典型的http请求,express app优先于套接字服务器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.