多人游戏网络协议

时间:2012-03-27 10:28:02

标签: java networking

我负责多人游戏的网络部分。 我希望你们中的任何人都有这方面的经验。 我的问题是:

  1. 我应该创建一个包含所有信息的对象(坐标,统计,聊天),还是为每个信息发送一个自己的对象更好?

  2. 我如何避免在客户端缓存的Object / s beeing,以便我可以更新Object并再次发送它? (我尝试了ObjectInputStream.reset()但它仍然收到了相同的内容)

  3. (抱歉我的英文不好;))

2 个答案:

答案 0 :(得分:2)

  1. 每次发送所有数据都不是很好的解决方案,只需先前值的差异就可以了。有时(例如每10次或可能100次更新1次)发送所有值进行同步。

答案 1 :(得分:1)

1.在逻辑层中,您可以拆分对象,在传输层中发送您想要的内容,当然您可以将它们组合并发送。

2.您可以为每个用户维护一个版本,客户端也有版本号,当事情发生变化时,更新服务器中的相应版本,然后将更新发送给所有客户端,然后客户端应该更新版本。它应该是subcribe模式。