gpt4 book ai didi

javascript - websockets 是用于为客户端更新进度条的正确技术吗?如何实现它?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:08:27 24 4
gpt4 key购买 nike

<分区>

场景

我正在开发某种基于网络的云存储服务。

一个功能是用户可以启动视频文件的转码(以便它们可以在不同的设备上流式传输)。

这需要一些时间,我想向用户显示一个进度条。

我的计划是使用写入数据库的 ajax 提交作业。 ajax 调用返回数据库中作业的 ID,此 ID 将用作通知 channel 。

因此,当提交作业后,客户端会在一些自托管的 websocket 服务器上订阅 channel “job-databaseID”。

转码工作人员然后定期从数据库表中选择待处理的作业并处理它们。在处理过程中,他们将进度推送到 websocket 服务器到客户端正在监听的同一 channel 。

前端应用程序应该是一个带有 javascript 和 jquery 的网站。后端应使用 PHP 和 MySQL 以及 apache 或 nginx 网络服务器进行编程。

问题

这是使用 websockets 的正确方法吗?通常我看到 websockets 在 on-to-many 通知场景中使用。这里是一个一对一的通知场景。对于这种单向信息流,是否有更好的替代方案?

我还经常看到 Websocket 场景的 channel 或多或少是长期存在的。在这里它非常短暂。为每个用户创建一个 channel 是否更有意义?

对于这种用途,什么是好的 websocket 服务器?理想情况下,一旦没有客户端连接到 channel , channel 就会自动删除并以相同的方式自动创建,所以我不需要处理这个问题。

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