Mensajería UDP rápida, confiable y sencilla para Java. Diseñado para juegos.
JFastNet tolera la pérdida de paquetes y, cuando se usa de la manera correcta, puede brindarles a sus jugadores una experiencia de juego en red fluida incluso en malas condiciones de red.
La API de esta biblioteca está sujeta a cambios.
La dependencia de su POM:
< dependency >
< groupId >com.jfastnet</ groupId >
< artifactId >jfastnet</ artifactId >
< version >0.3.8</ version >
</ dependency >
El siguiente código muestra las partes importantes de una comunicación servidor-cliente:
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!" ));
Haga clic para ver el código de muestra completo de HelloWorld.java
La documentación aún es un trabajo en progreso.
Las clases más importantes que debe buscar al principio son la clase Config
y Message
. El JavaDoc debería proporcionarle las posibilidades de configuración básicas de la biblioteca.
Actualmente existen dos formas que puedes utilizar para enviar un mensaje de forma fiable. Por supuesto, enviar el mensaje de forma poco fiable también es una opción.
El receptor de un mensaje con el modo confiable configurado en ACK_PACKET
enviará un paquete de acuse de recibo al otro extremo al recibir el mensaje. Mientras el remitente del mensaje mencionado anteriormente no reciba un paquete de confirmación, seguirá reenviando el mensaje.
Atributo | Valor |
---|---|
Confiable | Sí |
Ordenado | No |
El receptor de un mensaje con el modo confiable configurado en SEQUENCE_NUMBER
no hará nada siempre que los mensajes lleguen en el orden esperado. Pero si se recibe un mensaje con una identificación mayor a la esperada, el receptor dejará de procesar los mensajes y enviará un RequestSeqIdsMessage
al otro extremo. El procesamiento no continuará hasta que se reciban todos los mensajes requeridos.
Atributo | Valor |
---|---|
Confiable | Sí |
Ordenado | Sí |
Generalmente es recomendable utilizar números de secuencia, ya que habrá menos gastos generales y además se garantiza la entrega del pedido.
Utilice maven para construir JFastNet:
mvn clean install
Kryo es el serializador predeterminado utilizado en JFastNet y es un placer trabajar con él. ¡Muchas gracias por esta increíble biblioteca!
Project Lombok también merece una mención, ya que hace que trabajar con Java sea mucho más cómodo y el código parece más limpio. Compruébalo si aún no lo has hecho.
Publique problemas en la página de problemas o contácteme por correo electrónico a [email protected] para otras consultas.