jfastnet
jfastnet-0.1.3
适用于 Java 的快速、可靠且简单的 UDP 消息传递。专为游戏而设计。
JFastNet 能够容忍丢包,如果使用得当,即使在网络条件较差的情况下,它也可以为您的玩家提供流畅的网络游戏体验。
该库的 API 可能会发生变化。
POM 的依赖项:
< dependency >
< groupId >com.jfastnet</ groupId >
< artifactId >jfastnet</ artifactId >
< version >0.3.8</ version >
</ dependency >
以下代码显示了服务器-客户端通信的重要部分:
Server server = new Server ( new Config (). setBindPort ( 15150 ));
Client client = new Client ( new Config (). setPort ( 15150 ));
server . start ();
client . start ();
client . blockingWaitUntilConnected ();
server . send ( new PrintMessage ( "Hello Client!" ));
client . send ( new PrintMessage ( "Hello Server!" ));
点击查看HelloWorld.java完整示例代码
该文档仍在进行中。
一开始要查找的最重要的类是Config
和Message
类。那里的 JavaDoc 应该为您提供该库的基本配置可能性。
目前,您可以使用两种方法来可靠地发送消息。不可靠地发送消息当然也是一种选择。
可靠模式设置为ACK_PACKET
的消息接收方收到消息后将向另一端发送确认数据包。只要前面提到的消息的发送者没有收到确认数据包,它就会继续重新发送该消息。
属性 | 价值 |
---|---|
可靠的 | 是的 |
已订购 | 不 |
只要消息按预期顺序到达,可靠模式设置为SEQUENCE_NUMBER
的消息接收方将不会执行任何操作。但如果接收到id大于预期的消息,接收方将停止处理该消息并向另一端发送RequestSeqIdsMessage
。在收到所有必需的消息之前,处理不会继续。
属性 | 价值 |
---|---|
可靠的 | 是的 |
已订购 | 是的 |
通常建议使用序列号,因为这样会减少开销并且保证有序交付。
使用maven构建JFastNet:
mvn clean install
Kryo 是 JFastNet 中使用的默认序列化器,使用起来很愉快!非常感谢这个很棒的图书馆!
Lombok 项目也值得一提,因为它使使用 Java 变得更加舒适,并且代码看起来更干净。如果您还没有的话,请检查一下。
将问题发布到问题页面或通过电子邮件与我联系 [email protected] 进行其他查询。