gpt4 book ai didi

javascript - 如何在不同的端口上运行多个快速服务器?

转载 作者:行者123 更新时间:2023-11-30 07:12:16 27 4
gpt4 key购买 nike

从上周开始学习 node,并掌握了 node 和 express。但现在我面临一个问题。我试图在不同的端口上运行多个快速服务器,并希望它们在 10 秒后返回响应。运行程序后,服务器启动正常,但当我点击 http://localhost:3000 时或任何服务器的 url,观察以下内容:
- 在客户端,我在 10 秒后得到所有服务器的正确响应
- 服务器进入无限循环并在延迟 10 秒后不断打印“返回数据...”

我尝试使用一个函数,使用一个 js 文件导出服务器,另一个类导入它并在 for 循环中调用。但是服务器在延迟 10 秒后不断打印“返回数据...”。下面是我的代码:

var express = require('express');

const data = '{"key":"value"}';
const server = function (port) {
let app = express();
app.get('/', (req, res) => {
setInterval(function () {
console.log('returning data...')
res.end(data);
}, 10000); //want a delay of 10 secs before server sends a response
})
app.listen(port, () => console.log("Server listening at http://%s:%s",
"localhost", port))
}

console.log('\nStarting servers.......')
for (var i = 0; i < 5; i++) {
server(3000 + i)
}

最佳答案

您需要从 express 创建多个应用程序实例。下面是从同一个文件在不同端口上启动多个服务器的代码片段。

var express = require('express');

let app1 = express();
let app2 = express();

app1.listen(3000, () => {
console.log("Started server on 3000");
});

app2.listen(3002, () => {
console.log("Started server on 3002");
});

关于javascript - 如何在不同的端口上运行多个快速服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53944830/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com