Messagerie UDP rapide, fiable et simple pour Java. Conçu pour les jeux.
JFastNet tolère la perte de paquets et, lorsqu'il est utilisé correctement, il peut offrir à vos joueurs une expérience de jeu en réseau fluide, même dans de mauvaises conditions de réseau.
L'API de cette bibliothèque est susceptible de changer.
La dépendance pour votre POM :
< dependency >
< groupId >com.jfastnet</ groupId >
< artifactId >jfastnet</ artifactId >
< version >0.3.8</ version >
</ dependency >
Le code suivant montre les parties importantes d'une communication serveur-client :
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!" ));
Cliquez pour voir l’exemple de code complet de HelloWorld.java
La documentation est toujours en cours de réalisation.
Les classes les plus importantes à rechercher au début sont les classes Config
et Message
. Le JavaDoc devrait vous fournir les possibilités de configuration de base de la bibliothèque.
Il existe actuellement deux manières d’envoyer un message de manière fiable. Bien entendu, l’envoi du message de manière peu fiable est également une option.
Le destinataire d'un message avec le mode fiable défini sur ACK_PACKET
enverra un paquet d'accusé de réception à l'autre extrémité dès réception du message. Tant que l'expéditeur du message mentionné précédemment ne reçoit pas de paquet d'accusé de réception, il continuera à renvoyer le message.
Attribut | Valeur |
---|---|
Fiable | Oui |
Ordonné | Non |
Le destinataire d'un message avec le mode fiable défini sur SEQUENCE_NUMBER
ne fera rien tant que les messages arrivent dans l'ordre attendu. Mais si un message avec un identifiant supérieur à celui prévu est reçu, le destinataire arrêtera de traiter les messages et enverra un RequestSeqIdsMessage
à l'autre extrémité. Le traitement ne se poursuivra pas tant que tous les messages requis n'auront pas été reçus.
Attribut | Valeur |
---|---|
Fiable | Oui |
Ordonné | Oui |
Il est généralement conseillé d'utiliser des numéros de séquence, car cela entraînera moins de frais généraux et la livraison commandée sera également garantie.
Utilisez maven pour construire JFastNet :
mvn clean install
Kryo est le sérialiseur par défaut utilisé dans JFastNet et c'est un plaisir de travailler avec ! Merci beaucoup pour cette superbe bibliothèque !
Le projet Lombok mérite également une mention, car il rend le travail avec Java beaucoup plus confortable et le code semble plus propre. Vérifiez-le si vous ne l'avez pas déjà fait.
Publiez les problèmes sur la page des problèmes ou contactez-moi par e-mail à [email protected] pour d'autres demandes.