gpt4 book ai didi

javascript - 在node.js服务器上使用socket.io,不断发出数据或允许客户端计算给定的时间戳会更好吗?

转载 作者:太空宇宙 更新时间:2023-11-03 21:50:27 25 4
gpt4 key购买 nike

很抱歉,如果标题不清楚,但本质上我想做的是在多个客户端之间创建一个并发计时器。我想做的是让一个客户端(我们称这个客户端为启动者)启动计时器。这将启动一个计时器,连接到服务器的所有客户端都可以看到该计时器。

根据我收集的信息,我有两种选择;

选项A;当启动器启动计时器时,时间戳会发送到服务器并保存在那里,然后发送到所有连接的客户端。计时器的计算在客户端完成。当客户端打开连接时,计时器状态和时间戳会发送到客户端。

选项B;当启动器启动计时器时,时间戳被发送到服务器,并且间隔和计算在服务器端完成。计时器的每个滴答声都会从服务器端发送到客户端。

我想知道采用这两种方法的优点和缺点,以及这些方法是否有效。据我推断,选项A会减少服务器的负载,但会增加客户端的负载,而选项B则相反。

抱歉,这是我的第一篇 stackoverflow 帖子,也是我的第一个 Node.js 项目。

最佳答案

您可以结账rooms在socketio中,它可能会消除很多开销。

方法 A 似乎更好,因为它会因为发送时间戳比从服务器发送刻度更准确,因为假设由于网络延迟,刻度会稍后传递,并且如果客户端不知道时间戳,则可能会出现不一致

此外,如果您有数千个 WebSocket 连接,最好将此类逻辑放在客户端中,并让服务器仅处理与连接相关的逻辑。

关于javascript - 在node.js服务器上使用socket.io,不断发出数据或允许客户端计算给定的时间戳会更好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59935928/

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