java-Kcp
README dalam bahasa Inggris
kcp diimplementasikan berdasarkan versi netty (termasuk implementasi fungsi fec)
KCP adalah protokol (rudp) yang cepat dan andal berdasarkan UDP. KCP dapat mengurangi penundaan rata-rata sebesar 30%-40% dan mengurangi penundaan maksimum sebanyak tiga kali lipat dengan mengorbankan 10%-20% bandwidth dibandingkan TCP.
alamat pakar:
< dependency >
< groupId >com.github.l42111996</ groupId >
< artifactId >kcp-base</ artifactId >
< version >1.6</ version >
</ dependency >
Metode dan parameter penggunaan
- Contoh sisi server
- Contoh klien
- praktik terbaik
- Banyak informasi
- Kompatibel dengan c#, server java, klien c#
- Masalah yang dihadapi
- Hasil tes kinerja
- Kompatibel dengan kcp-go, termasuk kompatibilitas fec
kesesuaian:
- Kompatibel dengan kcp versi c
- fec diimplementasikan berdasarkan https://github.com/Backblaze/JavaReedSolomon
- Versi C# yang sangat kompatibel, https://github.com/l42111996/csharp-kcp, untuk membangun pustaka jaringan front-end dan back-end game dengan cepat
stabilitas:
Ini sudah merupakan versi stabil. Menurut statistik, 5 hingga 10 proyek online telah diakses, termasuk produk dari Tencent, Kuaishou, dan perusahaan lain.
optimasi:
- Didorong oleh peristiwa, memanfaatkan sepenuhnya multi-core
- Optimalkan logika fastack dan kurangi lalu lintas sebesar 10%
- Optimalkan fungsi pemeriksaan.
- Optimalkan iterator pengumpulan.
- Berisi fec untuk mengurangi latensi
- Dilengkapi dengan cek crc32
- Gunakan roda waktu untuk mengoptimalkan penggunaan CPU pada koneksi dalam jumlah besar
- Gunakan directbuf dan kumpulan objek, tanpa tekanan gc
- Menambahkan penggunaan conv atau ip+port untuk menentukan keunikan saluran. Game ini merekomendasikan penggunaan konfigurasi conv dan tcp
- Saat penggunaan game meningkat, peralihan 4G ke wifi dan perubahan IP ekspor lainnya tidak akan menyebabkan koneksi terputus.
Informasi terkait
- https://github.com/skywind3000/kcp Kcp versi c asli
- https://github.com/xtaci/kcp-go go versi kcp, dengan banyak optimasi
- https://github.com/Backblaze/JavaReedSolomon java versionfec
- https://github.com/LMAX-Exchange/disruptor Pustaka perpesanan antar-utas berkinerja tinggi
- https://github.com/JCTools/JCTools Pustaka konkurensi berkinerja tinggi
- https://github.com/szhnet/kcp-netty versi java dari kcp
- https://github.com/l42111996/csharp-kcp Versi C# kcp berdasarkan dotNetty, sangat kompatibel
berkomunikasi
QQ:526167774