信頼性が低くレート制限のあるクライアント接続をターゲットとした高性能 RakNet 実装。厳密な netty スタイルのサーバーおよびクライアント チャネルを提供します。
この実装では、Netty チャネルを使用して高速かつ効果的な RakNet サーバーを提供し、トランスポート プロトコルの全機能セットを提供すると同時に、プラグインやカスタム動作による拡張の余地を提供します。
リサイクル可能なオブジェクト:
頻繁に使用された物品はリサイクルされます。
GC 圧力を下げます。
Netty リーク検出機能を搭載。
厳密な Netty パターン:
Bootstrap および ServerBootstrap パターンを使用します。
チャネルの書き込み可能性を使用してバックプレッシャーを通知します。
チャネル構成には Netty ChannelOptions を使用します。
通常のバインドおよび接続パターンに従います。
write 、 connectなどに対する正確な Promise 応答。
0コピーバッファの相互作用:
全体を通してバッファ参照を保持しました。
カプセル化とデフラグに使用される複合バッファー。
使いやすいデータ ストリーミング インターフェイス:
raw ByteBuf の書き込みおよび読み取りに使用される構成可能なパケット ID。
拡張可能で、複数のパケット ID とチャネル構成を可能にします。
Netty の形式に忠実なため、パイプラインは必要に応じて変更および拡張できます。
高度なフロー制御
バック プレッシャー シグナルは、クライアントが過負荷になった場合のバッファ制限に役立ちます。
保留中のフレームセット制限により、高転送レート時の不必要な再送信が削減されます。
フレーム シーケンスに基づいて優先順位を再送信するため、古いパケットをより速く取得できます。
自動フラッシュドライバー
フラッシュなしでパイプラインに書き込むことをお勧めします。
フラッシュ サイクルでは、MTU を最大限に活用するために送信データが圧縮されます。
<依存関係>
<依存関係>
<groupId>network.ycc</groupId>
<artifactId>ラックネットサーバー</artifactId>
<バージョン>1.1</バージョン>
</依存関係>
<依存関係>
<groupId>network.ycc</groupId>
<artifactId>ラックネットクライアント</artifactId>
<バージョン>1.1</バージョン>
</依存関係>
</依存関係>
<リポジトリ>
<id>waterdogpe-repo-releases</id>
<name>WaterdogPE リポジトリ</name>
<url>https://repo.waterdog.dev/releases</url>
</リポジトリ>良い例は、単純な Hello World テスト ケースにあります。