信頼性が低くレート制限のあるクライアント接続をターゲットとした高性能 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 テスト ケースにあります。