我打算开发一款具有多人功能的安卓小游戏。我已经使用 eNet 库在 C++ 中制作了一个服务器框架,我想使用这个框架来制作服务器。
那么,有没有像 eNet 这样兼容 Java 和 C++ 的网络库呢?我知道存在 jEnet(但是 Java-enet-wrapper 非常过时(https://github.com/csm/java-enet-wrapper),它还不成熟。
我打算开发一款具有多人功能的安卓小游戏。我已经使用 eNet 库在 C++ 中制作了一个服务器框架,我想使用这个框架来制作服务器。
那么,有没有像 eNet 这样兼容 Java 和 C++ 的网络库呢?我知道存在 jEnet(但是 Java-enet-wrapper 非常过时(https://github.com/csm/java-enet-wrapper),它还不成熟。
查看https://github.com/julienr/libenet-android。
在您的情况下,ENet 比 UDT 更可取,因为 UDT 可能是处理器密集型的,并且游戏服务至少希望有很多连接。不同之处在于 UDT 的拥塞控制实现对 CPU 的需求相对较高。UDT 非常棒,但它更多地设计用于长距离的大型、高带宽传输,而不是游戏中所需的小型、高延迟交易。
另请注意,主流拥塞控制算法不适用于小型事务。它们通过监控事务中每个数据包的 RTT 和/或监控事务中的数据包丢失率来工作,当每个事务平均只有 1 - 2 个数据包时,这是没有实际意义的。拥塞控制协议的额外要求将影响延迟,即使如果传输保持较小,拥塞控制本身也不太可能参与。
你可以试试UDT:http ://udt.sourceforge.net/
我以前曾成功地使用它在 Java 和 C++ 进程之间进行通信。