我是 WebRTC 和 Websockets 世界的新手。我对制作 1 对 1 网页游戏很感兴趣。问题只是:如何将简单的变量(主要是数字)从一个客户端发送到另一个客户端?
我有一个带有 websockets 的 Node.js 服务器(通过 socket.io)。所以,对于客户,我有两个解决方案:
- 使用 Websockets:客户端 1 将 var 推送到服务器,服务器将 var 推送到客户端 2。这个解决方案让我可以轻松地在一个游戏中为多个用户调整我的应用程序。
- 使用 WebRTC:offer 和 answer 是通过带有 websockets 的服务器发送的。然后,客户端1通过DataChannel将var推送到客户端2(我不需要getUserData)
我更喜欢使用 WebRTC,因为它简化了服务器的工作,允许他管理更多的客户端。所以我设置了两个解决方案来比较,大惊喜!Websockets 比 WebRTC 快得多!
我的测试很简单:只是一个使用 Three.js 旋转的立方体,第一个客户端在每帧进行一点旋转(每秒 60 次)并将旋转结果推送到客户端 2。在接待处,客户端 2 更新旋转并使成为。
使用 Websockets,结果是完美的,但使用 WebRTC,客户端 2 运行非常慢,比如 5 FPS。
问题是我这样做的方式吗?正常吗?我在本地主机上工作,在 Firefox 上。