我应该使用 websockets 还是 webRTC 进行 4 人游戏

Pie*_*yne 1 html javascript websocket node.js webrtc

我目前正在使用node.js 和socket.io 制作html5 游戏。游戏的基本原理是 4 个人绕圈移动,试图互相攻击……

我的问题是我应该使用 Websockets 还是 WebRTC?对于这种沟通来说,什么是最好的?4 名玩家点对点还是通过服务器?

请随意分享您的想法,我对这些东西还很陌生。

Adr*_*Ber 5

WebRTC 不仅可以用于流式传输音频/视频,还可以用于发送数据。当发送大量数据时,P2P 很有用。

在你的情况下,流量非常小。我看到了使用服务器的许多优点 - 同步,或者将来的身份验证或历史记录等功能。

还有实施部分。使用 WebRTC,您仍然需要一个信令服务器。Websocket 更容易实现,因为您没有会话协商部分。连接速度也更快。

就你个人而言,就你而言,我不会为 WebRTC 烦恼。

稍后更新:还有浏览器支持的问题:websockets vs WebRTC,正如@Myst 在评论中提到的。


jib*_*jib 5

两者都用。

WebRTC 数据通道非常适合在客户端之间以尽可能低的延迟发送数据,因为数据不经过服务器。

从您描述的游戏来看,听起来低延迟至关重要,因此我肯定会考虑使用数据通道来尽快更新对手的位置。

同时,作为游戏中真相的守护者,我也会通过网络套接字将数据发送到服务器,以验证没有人作弊。

四号位球员应该不成问题。让每个客户端在“网格”中打开与所有其他客户端的对等连接。