作为浏览器端无服务器架构的实验阶段,我 recently 使用了 WebRTC(仅使用DataChannels,没有后端)开发了一款小型多人水上游boat(battleship)手游。 在开发过程中遇到了几个有趣的挑战:
- NAT 窗口穿越一致性问题(在不同网络时的不同行为)
- 没有信令服务器的情况下处理重新连接
- 保持在纯 P2P 设置下的游戏状态一致性
- 处理 relayed 和直接连接的延迟差异
令我惊讶的事实是,无论是没有持久性的信令层下的重新连接逻辑如何脆弱:最终我只能使用一个轻量级的外部通道来进行初始握手。
是否有其他人尝试过类似的方法:
- 如何在 P2P 应用程序中处理重新连接?
- 有没有很好的模式来在没有服务器的情况下同步状态?
评论 (0)