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 には、ライブラリの基本的な構成の可能性が記載されています。
現在、信頼できる方法でメッセージを送信するために使用できる方法が 2 つあります。もちろん、メッセージを信頼性の低い方法で送信することも可能です。
高信頼性モードがACK_PACKET
に設定されているメッセージの受信者は、メッセージの受信時に確認応答パケットを相手側に送信します。前述のメッセージの送信者が確認パケットを受信しない限り、メッセージの再送信が続きます。
属性 | 価値 |
---|---|
信頼性のある | はい |
注文済み | いいえ |
信頼性モードがSEQUENCE_NUMBER
に設定されているメッセージの受信者は、メッセージが予期された順序で到着する限り何も行いません。ただし、予想より大きい ID を持つメッセージを受信した場合、受信側はメッセージの処理を停止し、 RequestSeqIdsMessage
を相手側に送信します。必要なメッセージがすべて受信されるまで、処理は続行されません。
属性 | 価値 |
---|---|
信頼性のある | はい |
注文済み | はい |
オーバーヘッドが少なく、順序どおりの配信が保証されるため、通常はシーケンス番号を使用することをお勧めします。
Maven を使用して JFastNet を構築します。
mvn clean install
Kryo は JFastNet で使用されるデフォルトのシリアライザーであり、楽しく作業できます。この素晴らしいライブラリをありがとう!
Project Lombok も言及に値します。Java での作業がはるかに快適になり、コードがきれいに見えるからです。まだお持ちでない場合はチェックしてください。
その他のお問い合わせについては、問題ページに問題を投稿するか、[email protected] まで電子メールでご連絡ください。