网络库兼容C和Java

Networking library compatible C and Java

本文关键字:Java 网络      更新时间:2023-10-16

我将开发一款具有多人游戏功能的Android小游戏。我已经使用eNet库在C++中制作了一个服务器框架,我想使用这个框架来制作服务器。

那么,有没有像eNet这样的网络库与Java和C++兼容呢?我知道存在jEnet(但它是非常过时的Java-ent包装器(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++进程之间进行通信。