为什么在使用websockets时必须使用http.createServer创建服务器?

6za6bjd0  于 2023-03-08  发布在  其他
关注(0)|答案(1)|浏览(172)

这是一段来自Socket iodocs的代码:

const express = require('express');
const app = express();
const http = require('http');
const server = http.createServer(app);
const { Server } = require("socket.io");
const io = new Server(server);

几乎与ws相同的代码:

const express = require("express");
const app = express();
const WebSocket = require("ws");
const server = require("http").createServer(app);
const wss = new WebSocket.Server({ server });

我的问题是为什么要创建这样的服务器:

const server = http.createServer(app);

app本身已经是一个可以使用的服务器时,将express示例传递给http.createServer()方法?
在这种情况下,这两个示例之间有什么区别?
app = express();server = http.createServer(app);

e3bfsja2

e3bfsja21#

express()取自express API docs,它创建一个快速应用程序,而http.createServer()实际上返回一个HTTP Server。
我们将express应用程序作为参数传递到createServer方法中,以创建express服务器。
查看createServer文档了解更多信息。

相关问题