当前位置: 首页 > 面试题库 >

http.createServer(app)诉http.Server(app)

暴招
2023-03-14
问题内容

在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)

app.listen()
绑定并侦听给定主机和端口上的连接。此方法与节点的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(opthtml" target="_blank">ions, 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请求导致两次执行。 问题答案: 那是正常现象-您的浏览器拨打了多个电话。 例如,大多数浏览器都会呼叫来获取。 尝试记录网址: 然后您会看到正在调用的内容。

  • HTTP GET # http_server_GET.py from http.server import BaseHTTPRequestHandler from urllib import parse class GetHandler(BaseHTTPRequestHandler): def do_GET(self): parsed_path = parse.url

  • 问题内容: 当我查看net / http服务器接口时,没有看到一种明显的方式来通知并在http.Server启动并 开始 侦听时作出反应: 直到服务器真正关闭后,该函数才返回。我还查看了服务器类型,但似乎没有什么可以让我把握这一时机。某些功能或频道会很棒,但我看不到任何东西。 有什么方法可以让我检测到该事件,还是我只需要“熟睡”一下以伪造它? 问题答案: ListenAndServe是一个帮助程序

  • 问题内容: 我正在使用Windows 7和Python 3.4.3。我想在浏览器中运行以下简单的helloworld.py文件: 我要做的是: 1)转到命令行(安装python的位置) 2)运行: 3)进入Firefox并输入 但是,浏览器仅打印hello.py文件的内容,而不是“ Hello World”。 我该如何解决? 问题答案: 从该文档: 可以通过传递以下选项在命令行中启用: 将您的脚本

  • 说明 一个订单只能投诉一次,不可重复投诉 地址URL /v1/common/Complaint/submit 支持格式 Json或普通form HTTP请求方式 POST 是否需要登录 是 关于登录授权,参见 如何登录授权 访问授权限制 暂无 请求参数 名称 类型 必选 描述 client_id string yes 申请应用时分配的AppKey access_token string yes 授

  • 说明 该接口会根据指定订单的不同场景返回不同的投诉列表, 投诉前请调用此接口 地址URL /v1/common/Complaint/getReasonList 支持格式 {url}?k1=v1&k2=v2&k3=v3&... HTTP请求方式 GET 是否需要登录 是 关于登录授权,参见 如何登录授权 访问授权限制 暂无 请求参数 名称 类型 必选 描述 client_id string yes