http.createServer(app)诉http.Server(app)
在socket.io网页上Get Started: Chat application
,位于:
http://socket.io/get-started/chat/
有这样的代码:
var app = require('express')();var http = require('http').Server(app);
可以这样更清晰地重写它:
var express = require('express');var http = require('http');
var app = express();
var server = http.Server(app);
socket.io示例使用http.Server()创建服务器。但是,app.listen()的快速文档显示了使用以下示例创建服务器的示例http.createServer(app)
:
绑定并侦听给定主机和端口上的连接。此方法与节点的http.Server#listen()相同。
var express = require('express');
var app = express();
app.listen(3000);
express()返回的应用程序实际上是一个JavaScript函数,旨在将其作为处理请求的回调传递给节点的HTTP服务器。这使您可以轻松地为应用程序的HTTP和HTTPS版本提供相同的代码库,因为该应用程序不会继承自这些代码库(它只是一个回调):
var express = require('express');
var https = require('https');
var http = require('http');
var app = express();
http.createServer(app).listen(80);
https.createServer(options, app).listen(443);
app.listen()方法是用于以下目的的便捷方法(如果您希望使用HTTPS或同时使用两者,请使用上述技术):
app.listen = function(){
var server = http.createServer(this);
return server.listen.apply(server, arguments);
};
http.createServer(app)
和http.Server(app)
??有什么区别?http文档没有帮助。
回答:
没有区别。http.createServer()
只做一件事:内部调用http.Server()
并返回结果实例。
以上是 http.createServer(app)诉http.Server(app) 的全部内容, 来源链接: utcz.com/qa/414629.html