gpt4 book ai didi

服务器操作的 Node.js 客户端进度指示器

转载 作者:搜寻专家 更新时间:2023-10-31 23:21:49 25 4
gpt4 key购买 nike

我的 node.js 服务器将对上传的文件执行某些操作,我想将进度近乎实时地反馈给客户端。此操作大约需要 30 秒 - 1 分钟才能完成。

理想情况下,在文件上传后,客户端将能够观察到服务器对文件的操作进度。

我可以执行常规轮询、长轮询或通过 websockets 连接到服务器,但所有这些似乎都需要相当复杂的设置才能显示 30 秒到 1 分钟的进度指示器。

有没有更好的方法可用?

最佳答案

我会用 socket.io 来做到这一点.可能有更好的方法可用,但 socket.io 相对容易配置。

你在使用 Express.js 吗?如果是这样,请确保查看特定于 Express 的部分以获取有关配置的详细信息。配置完成后,您需要执行以下操作:

在服务器上,你会想要发出一个新的状态

socket.emit('status','aok!');

在客户端,你会想要监听来自服务器的新状态

socket.on('status', function (msg) {
console.log(msg);
//Put code here to update the page!
});

您可能需要考虑调整心跳时间。基本上,服务器每隔一段时间就会对客户端执行 ping 操作,以检查它们是否仍处于连接状态。我相信默认情况下,这种情况每 25 秒发生一次,超时发生 60 秒后没有响应。您可能想要延长心跳之间的时间,甚至完全禁用它们。

关于服务器操作的 Node.js 客户端进度指示器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23033617/

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