客户端应该多久向服务器发送请求? 服务器应该多久向客户端发送更新?有什么建议吗?MMORPG中客户端/服务器之间的消息速率
1
A
回答
3
在你到达那里之前,不要担心这一点。从频繁的消息开始,然后随着规模的扩大,如果有必要的话,可以开始减少消息传递的频率(至此,您应该使用分析来确定热点)。
如果你真的想知道,然后启动你想要的任何游戏,并进行测试。另外,很可能大多数大型MMORPG都没有使用标准的Web请求/响应,并且可能与非常优化的二进制协议直接套接字连接。
但是,这是另一件事,你可以切换到一旦你找出它需要。
2
正如两位网友指出的,你的问题很模糊。您正在实施的MMO类型以及传递的信息非常重要。这就是说,在MMORPG的世界里,即使在这样一个位置上只有一个玩家在线时,也需要在客户端和服务器之间进行很多工作。
首先,您应该避免在客户端和服务器之间传输图片和音频。客户应该已经拥有了它所需要的一切。第二,每当世界发生变化(用户可以看到)时,服务器就会把它告诉客户端(新怪物,新玩家,移动,攻击)。 客户端所采取的每一个行动都应该通知服务器。
第三,你应该尽量只保留所需的信息。不要多次发送任何东西,避免发送已知的信息(如果有人攻击,但不要移动,不要发送位置信息,这是多余的,而且会浪费带宽和处理时间)。
希望它有帮助!
1
坦率地说,这取决于游戏的性质。人们认为往返时间超过0.1s是延迟,往返时间超过1s是一个重大问题。
http://www.useit.com/papers/responsetime.html
您的消息率需要考虑到这一点。但是,如果您能够建立真正的双向通信(通用TCP通道就足够了),它可能甚至不相关。
如果我写这样的比赛,我将建立一个25ms的事件收集延迟:
- 基本上,如果一个事件需要传达,我会再等25毫秒以收集可能结束所有后续事件被集中到同一个网络数据包中。
- 然后,如果您在同一大陆(宽带上),接收端的事件收集延迟时间为25毫秒,网络延迟为25毫秒,则网络延迟时间为25毫秒。
相关问题
- 1. 发送客户端 - 服务器之间的消息ID - Java的
- 2. 在客户端之间转发消息的UDP服务器
- 3. RStudio和Shiny:服务器和客户端之间的消息
- 4. 线程服务器,在客户端之间发送消息
- 5. 消息,从服务器的客户端
- 6. 客户端服务器消息加密
- 7. 服务器客户端消息验证
- 8. 处理客户端/服务器消息?
- 9. Tcp客户端/服务器 - 客户端消息问题
- 10. Facebook API速率限制 - 服务器端vs客户端
- 11. Facebook API速率限制 - 服务器端或客户端更好?
- 12. 如何跟踪服务器和客户端之间交换的消息?
- 13. PyQt5:发送和接收客户端和服务器之间的消息
- 14. 询问客户端到客户端之间传送消息
- 15. Bayeux客户端如何停止从Bayeux服务器接收消息?有没有办法在客户端阻止客户端和服务器之间的通道?
- 16. 客户端和服务器之间发送/接收文本消息
- 17. GWT - 合并错误消息以在服务器和客户端之间使用
- 18. 快速文本解析器服务器 - 客户端的消息 - MMO
- 19. 客户端 - 服务器消息交换 - Java中的套接字
- 20. Java多客户端服务器不接收来自客户端的消息?
- 21. 使用Windows Azure的客户端 - 服务器 - 客户端消息传递
- 22. 估计JSF中客户端和服务器之间的连接速度页面
- 23. 在客户端和服务器通信中加密消息
- 24. 在TCP客户端/服务器程序中未收到消息
- 25. c#WCF客户端服务器消息传递/事务优化
- 26. 客户端和服务器端之间的共享代码
- 27. RSA之间的PHP服务器端和Java(Android)客户端。
- 28. 向所有客户端发送消息(客户端 - 服务器通信)
- 29. 套接字服务器 - 发送消息从客户端到客户端
- 30. 在Go中的客户端和服务器之间的通信
你的问题太含糊而且开放。尽量让它更专注或具体。 –
最简单的答案是:尽可能多的。像问题一样含糊不清。 – Ikke