我目前正在用node.js和socket.io制作html5游戏。 该游戏的基本知识是4人围绕试图打彼此移动...我应该使用websockets还是webRTC进行4人游戏
我的问题是我应该使用Websockets还是WebRTC? 这种沟通最适合什么?点对点4个玩家还是通过服务器?
随时分享您的想法,我很新的这东西..
我目前正在用node.js和socket.io制作html5游戏。 该游戏的基本知识是4人围绕试图打彼此移动...我应该使用websockets还是webRTC进行4人游戏
我的问题是我应该使用Websockets还是WebRTC? 这种沟通最适合什么?点对点4个玩家还是通过服务器?
随时分享您的想法,我很新的这东西..
的WebRTC可不仅用于音频/视频流,同时也用于发送数据。 P2P在发送大量数据时非常有用。
在你的情况下,流量很小。而且,我发现使用服务器的许多优点 - 同步,或者将来还会使用身份验证或历史记录等功能。
还有执行部分。使用WebRTC,您仍然需要一个信令服务器。因为你没有会话协商部分,所以websocket更容易实现。连接速度也更快。
就你个人而言,我不打扰WebRTC。
后来更新:还有浏览器支持的问题:websockets VS WebRTC,如@Myst在评论中提到。
同时使用。
WebRTC数据通道非常适合在客户端之间以最低延迟发送数据,因为数据不通过服务器。
从你描述的游戏中,这听起来像是低延迟将是至关重要的,所以我一定会考虑使用数据通道来尽快更新对手的位置。与此同时,我也会发送带有网络套接字的数据给服务器,作为游戏真相的守护者,以验证没有人会作弊。
四人球员不应该是一个问题。让每个客户端以“网状”打开与所有其他客户端的对等连接。
你想问的主要问题是:谁拥有状态和数据?如果状态和数据存储在客户端并直接相互发送/接收,如果客户端断开连接会发生什么?游戏的一部分会消失吗?如果他们通过窃取数据而作弊?您是否希望服务器拥有数据(或者至少验证它)是出于这些原因? – xdumaine