javascript - 我应该在我的应用程序/游戏中使用轮询还是套接字?
问题描述
我正在构建一个 React 浏览器 Web 应用程序,它与具有 REST 设计的 Node.js 服务器 (Express.js) 进行通信,并且正在考虑我应该实现哪种数据传输方法。我的应用程序提供了一个类似于国际象棋的游戏。这些游戏是长期的,这意味着平均每个玩家每隔几个小时才移动一次。每个游戏只涉及少量玩家(2-3),尽管许多不相关的游戏可以同时进行(数千人)。
编辑:与国际象棋不同,用户可以在等待对手的同时进行多次连续移动。因此,在等待对手行动的几个小时内,如果他愿意,用户可以发布大约 20 条自己的更新。
鉴于我不需要向许多用户推送单个更新,并且我不需要在用户打开/关闭他们的游戏会话时进行更新,我应该使用哪种数据检索方法?
- 短轮询?
- 长轮询?
- WebSockets 还是 Sockets.io?
- 服务器发送事件?
非常感谢所有帮助
解决方案
推荐阅读
- ruby-on-rails - 蓝图不返回模型定义的方法
- ios - 如何从 VLCKit 播放器使用 AirPlay 流式传输视频
- swift - 如何在 DropDelegate 中获得对下拉视图的引用?
- javascript - 如何循环具有不同对象名称的数组,我们可以在reactJS中使用正则表达式来循环所有不同的命名对象吗?
- r - 计算R中单列中的值序列
- io - SwiftUI对角线LinearGradient在一个矩形
- css - 如何制作一个围绕文本旋转的加载器
- elasticsearch - Kubernetes - Ec2 - 获得 0/2 个节点的弹性搜索可用:2 内存不足
- c# - 无法评估 Blazor Webassembly API 调用子项
- laravel - 调用未定义的方法 Cartalyst\Stripe\Api\Account::createPerson()