network-programming - 用于 Java 和 Objective-C 游戏的实时游戏网络库

标签 network-programming udp real-time

我正在寻找使用专用 Java 服务器和 iphone 客户端以及 Java 桌面客户端构建的实时游戏。哪些可用的高性能网络传输库可用于实时多人游戏开发,适用于 Java 和 iphone(特别是可靠的 UDP)?

大多数基于实时 Action 的游戏(反恐精英、Left4Dead、Quake III)的一般建议是使用 UDP/IP 传输协议(protocol)将消息作为“不可靠”的数据包发送,以支持 TCP 的“保证”传输(由于问题重新发送和延迟问题,您无法轻松控制)。

  • Half-Life Source Engine Networking Overview
  • Quake III Networking
    另一个建议是构建一个可靠的 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/

    相关文章:

    c++ - 使用 UDP LabVIEW 与 UDP c++ 套接字通信

    erlang - 为什么 Erlang 适合软实时应用,而不适合硬实时?

    c# - 如何强制特定网络适配器上的流量

    c++ - 数据封装(网络编程)

    java - 异步UDP如何在java中从客户端获取ip和端口?

    api - 每分钟浏览量数据

    mysql - 在桌面和应用程序之间同步数据(最佳实践)

    networking - Golang DNS 解析不起作用

    c# - 检查是否通过以太网连接 C#

    java - android 和 UDP 数据包的奇怪行为