libquicknet
Pustaka jaringan UDP yang sederhana dan kecil dan dapat diandalkan untuk game
❗ libquicknet sedang dalam pengembangan dan tidak cocok untuk kode produksi ❗
Target utama perpustakaan ini adalah prototipe game atau game jam yang memerlukan subsistem jaringan cepat plug&play.
Sangat mudah untuk bangun dan berjalan!
Fitur:
- Protokol UDP berorientasi koneksi dengan jabat tangan 3 langkah
- Klien<->Server dan dukungan Peer-to-Peer
- Penggunaan bandwidth rendah
- Dukungan yang andal/tidak dapat diandalkan yang diurutkan/tidak diurutkan
- Sistem pengakuan redundan cepat untuk pesan yang andal
- Penemuan server (hanya LAN)
- Sistem checksum penuh untuk menghindari kerusakan pesan
- Penggabungan pesan opsional saat pengiriman
- Memperbaiki kecepatan pengiriman yang dapat dipilih
- Deteksi pesan duplikat
- Dukungan latensi palsu dan kehilangan paket
- Estimasi Ping dan Waktu Pulang Pergi
- Lintas platform (Windows/Linux)
Fitur Masa Depan:
- Sinkronisasi waktu
- Sinkronisasi RNG untuk sistem deterministik
- Bitpacking & kompresi
- Enkripsi simetris dengan pertukaran kunci saat jabat tangan
- Penjelajahan dan penerobosan NAT
- Kesadaran Endianness
- Memperbaiki sistem pengakuan
Instalasi
Letakkan semua file sumber di proyek Anda dan kompilasi!
Penggunaan
- termasuk quicknet_peer.h
- buat turunan dari quicknet::Peer
- mengesampingkan metode OnConnection, OnDisconnection dan OnGameMessage
- Tentukan pesan game khusus Anda seperti yang diinstruksikan di quicknet_messagetypes.h
- Sertakan ID pesan Anda di quicknet_messagelookup.h
- Siap!
Untuk contoh sederhana silakan periksa test.cpp
Latar belakang
Perpustakaan ini ditulis dalam satu minggu, dan meskipun berfungsi penuh masih memerlukan banyak perbaikan untuk membuatnya lebih baik lagi!
Masih banyak hal-hal hardcode yang memerlukan perawatan, tapi saya akan mencoba mengubahnya menjadi perpustakaan yang mudah disesuaikan.