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

回到顶部