Javascript Socket.io与多人游戏的WebRTC数据通道

Javascript Socket.io与多人游戏的WebRTC数据通道,javascript,websocket,socket.io,webrtc,Javascript,Websocket,Socket.io,Webrtc,我正在尝试创建一个实时3d多人游戏,它应该在每一帧更新所有连接的玩家的移动 到目前为止,我使用socket.io在玩家之间共享数据,但其他玩家在移动时看起来有点跳跃和不平稳 我基本上使用socket.emit()将我的移动(位置、旋转)数据发送到服务器,然后服务器使用client.emit()发回所有其他玩家的移动数据 如果我使用WebRTC的RTCDataChannel替代它,它允许玩家之间的P2P通信,性能会提高吗 不可靠通信(UDP)的RTCDataChannel设置将比socket.io

我正在尝试创建一个实时3d多人游戏,它应该在每一帧更新所有连接的玩家的移动

到目前为止,我使用socket.io在玩家之间共享数据,但其他玩家在移动时看起来有点跳跃和不平稳

我基本上使用
socket.emit()
将我的移动(位置、旋转)数据发送到服务器,然后服务器使用
client.emit()
发回所有其他玩家的移动数据


如果我使用WebRTC的
RTCDataChannel
替代它,它允许玩家之间的P2P通信,性能会提高吗

不可靠通信(UDP)的RTCDataChannel设置将比socket.io(TCP)更快,因为丢弃的数据包不需要等待。没有额外的安全风险。

不会,我的游戏有这个问题,如果在本地托管时发生这种情况,那么服务器逻辑会变慢(即,可能会嵌套for循环或其他降低性能的事情)。另一方面,如果这是在生产过程中发生的,则可能是需要插值的延迟问题。这是一篇关于游戏中插值的文章。我发现这个网站对这种情况非常有用@Ameer谢谢你的回答。但是WebRTC可以更快,因为它是P2P,我可以使用UDP来发送数据吗?它可以更快,但是你必须考虑P2P通信中涉及的安全风险,用户可以改变正在发送的数据或发送恶意数据。