我正在寻找使用专用 Java 服务器和 iphone 客户端以及 Java 桌面客户端构建的实时游戏。哪些可用的高性能网络传输库可用于实时多人游戏开发,适用于 Java 和 iphone(特别是可靠的 UDP)?
大多数基于实时 Action 的游戏(反恐精英、Left4Dead、Quake III)的一般建议是使用 UDP/IP 传输协议(protocol)将消息作为“不可靠”的数据包发送,以支持 TCP 的“保证”传输(由于问题重新发送和延迟问题,您无法轻松控制)。
另一个建议是构建一个可靠的 UDP 协议(protocol),让您“可选地”保证 UDP 数据包的交付(但仍然不能保证交付顺序,例如 TCP 流,只要您的游戏可以处理乱序数据包)。
Project Darkstar是一个带有 C++ 绑定(bind)的 Java MMO 服务器(对于通用多人游戏的轻量级实时网络库来说有点重)。
我见过用 C 编写的用于可靠 UDP 的库:
- Enet - 可靠的 UDP 库
- Cocoa AsyncSocket
最佳答案
查看 Kryo 及其相关的通信库 KryoNet .
它专为此类应用程序(高性能网络传输)而设计。我不确定是否有 Objective-C 绑定(bind),但即使没有,也值得一看,看看框架的设计有多好。
关于network-programming - 用于 Java 和 Objective-C 游戏的实时游戏网络库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1634345/