我要开发一款具有多人游戏功能的 Android 小游戏。我已经使用 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 个数据包时,这是没有实际意义的。拥塞控制协议(protocol)的额外要求将影响延迟,即使如果传输保持较小规模,拥塞控制本身也不太可能参与。
关于java - 网络库兼容 C 和 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12414217/