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