如何在MMORPG客户端/服务器通信中使用UDP和TCP协议?
例如:
客户端是否通过UDP向服务器广播(播放器位置等)?或相反亦然?
或者更像是使用TCP,其中客户端请求服务器移动播放器.服务器接收请求,移动播放器并将播放器发送回客户端,播放器现在位于xyz位置?
聊天频道必须使用TCP实现?
这有什么好文章/书吗?我发现了点点滴滴,但似乎真正的肉和土豆都是从经验中获得的.
许多游戏都使用UDP进行与运动相关的活动 - 因此,当你走路时,很可能会发送一堆UDP请求.服务器仍然最终控制它是否有效,但您不必关心每个数据包是否都到达服务器.这就是许多游戏客户端也使用某种预测机制的原因.
就你的第二次提及而言,是的,所有控件都由服务器管理是很常见的.您不希望客户端向服务器广播任何内容; 你应该做错误和输入处理服务器端,以防止人们黑客入侵.您可能还限制每秒输入.
无论如何,UDP和TCP的组合是合适的 - 你只需要问自己,"我想要可靠性还是速度?"