Mensagens UDP rápidas, confiáveis e fáceis para Java. Projetado para jogos.
JFastNet é tolerante à perda de pacotes e, quando usado da maneira correta, pode fornecer aos seus jogadores uma experiência de jogo em rede tranquila, mesmo em más condições de rede.
A API desta biblioteca está sujeita a alterações.
A dependência do seu POM:
< dependency >
< groupId >com.jfastnet</ groupId >
< artifactId >jfastnet</ artifactId >
< version >0.3.8</ version >
</ dependency >
O código a seguir mostra as partes importantes de uma comunicação 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!" ));
Clique para ver o código de exemplo completo de HelloWorld.java
A documentação ainda é um trabalho em andamento.
As classes mais importantes a serem procuradas no início são a Config
e a classe Message
. O JavaDoc deve fornecer as possibilidades básicas de configuração da biblioteca.
Atualmente, existem duas maneiras de enviar uma mensagem de maneira confiável. Enviar a mensagem de forma não confiável também é uma opção.
O receptor de uma mensagem com modo confiável definido como ACK_PACKET
enviará um pacote de confirmação para a outra extremidade após o recebimento da mensagem. Enquanto o remetente da mensagem mencionada anteriormente não receber um pacote de confirmação, ele continuará reenviando a mensagem.
Atributo | Valor |
---|---|
Confiável | sim |
Encomendado | não |
O receptor de uma mensagem com modo confiável definido como SEQUENCE_NUMBER
não fará nada desde que as mensagens cheguem na ordem esperada. Mas se uma mensagem com um id maior que o esperado for recebida, o receptor irá parar de processar as mensagens e enviar uma RequestSeqIdsMessage
para a outra extremidade. O processamento não continuará até que todas as mensagens necessárias sejam recebidas.
Atributo | Valor |
---|---|
Confiável | sim |
Encomendado | sim |
Geralmente é aconselhável usar números de sequência, pois haverá menos custos indiretos e também a entrega solicitada será garantida.
Use maven para construir JFastNet:
mvn clean install
Kryo é o serializador padrão usado no JFastNet e é um prazer trabalhar com ele! Muito obrigado por esta biblioteca incrível!
O Projeto Lombok também merece destaque, pois torna o trabalho com Java muito mais confortável e o código fica mais limpo. Confira se você ainda não o fez.
Publique problemas na página de problemas ou entre em contato comigo por e-mail em [email protected] para outras dúvidas.