Implementasi RakNet berkinerja tinggi menargetkan koneksi klien yang tidak dapat diandalkan dan memiliki tarif terbatas. Ini menyediakan server gaya netty yang ketat dan saluran klien.
Implementasi ini menggunakan saluran Netty untuk menyediakan server RakNet yang cepat dan efektif, menawarkan rangkaian fitur lengkap dari protokol transport, sekaligus memberikan ruang untuk ekstensi dengan plugin atau perilaku khusus apa pun.
Benda yang dapat didaur ulang:
Benda-benda yang sering digunakan didaur ulang.
Mengurangi tekanan GC.
Dilengkapi dengan deteksi kebocoran Netty.
Pola Netty yang ketat:
Menggunakan pola Bootstrap dan ServerBootstrap.
Memberi sinyal tekanan balik menggunakan kemampuan menulis Saluran.
Menggunakan Netty ChannelOptions untuk konfigurasi saluran.
Mengikuti pola pengikatan dan penyambungan normal.
Respons janji yang akurat untuk menulis , menghubungkan, dan lainnya.
Interaksi buffer 0-salinan:
Referensi buffer dipertahankan seluruhnya.
Buffer komposit digunakan untuk enkapsulasi dan defragmentasi.
Antarmuka streaming data yang mudah digunakan:
ID paket yang dapat dikonfigurasi digunakan untuk penulisan dan pembacaan ByteBuf mentah.
Dapat diperluas untuk memungkinkan beberapa ID paket dan konfigurasi saluran.
Sesuai dengan bentuk Netty, pipeline dapat dimodifikasi dan ditambah sesuai kebutuhan.
Kontrol aliran tingkat lanjut
Sinyal tekanan balik berguna untuk membatasi buffer ketika klien kelebihan beban.
Batas kumpulan bingkai yang tertunda mengurangi pengiriman ulang yang tidak perlu selama kecepatan transfer tinggi.
Kirim ulang prioritas berdasarkan urutan frame sehingga Anda mendapatkan paket lama dengan lebih cepat.
Driver siram otomatis
Disarankan untuk menulis ke saluran pipa tanpa flush.
Siklus pembilasan memadatkan data keluar untuk penggunaan MTU terbaik.
<ketergantungan> <ketergantungan> <groupId>jaringan.ycc</groupId> <artifactId>server-raknet</artifactId> <versi>1.1</versi> </ketergantungan> <ketergantungan> <groupId>jaringan.ycc</groupId> <artifactId>raknet-klien</artifactId> <versi>1.1</versi> </ketergantungan> </ketergantungan> <repositori> <id>rilis-repo-waterdogpe</id> <nama>Repositori WaterdogPE</nama> <url>https://repo.waterdog.dev/releases</url> </repositori>
Contoh yang baik dapat dilihat pada kasus uji sederhana Hello World.