Ini adalah perpustakaan bersih yang ditulis dalam GO menerapkan pola reaktor yang terinspirasi oleh Gnet. Tentu saja GKNet Benifts banyak dari Gnet, tetapi juga membawa sesuatu yang baru.
go get -u github.com/moqsien/gknet@latestcontoh
Lisensi
Panjf2000
Sebenarnya Gnet adalah perpustakaan net yang sangat bagus yang ditulis dalam Go. Tetapi penyebab utama untuk membuat GKNET adalah bahwa saya merasa sangat sulit untuk menerapkan fungsionalitas reboot yang anggun untuk aplikasi GNET. Pendengar khusus yang tidak dapat diimpor diterapkan oleh GNET, tetapi tidak ada adaptor untuk pendengar dari perpustakaan standar. Tampaknya satu-satunya cara untuk mencapai reboot yang anggun adalah trik penunjuk yang tidak aman, atau kami hanya perlu membuat masalah atau menarik permintaan di bawah proyek GNET.
Namun, saya juga memperhatikan bahwa GNET sendiri tidak mendukung HTTP dan TLS, dan penulis Andy Pan tidak memiliki rencana untuk mengimplementasikan TLS atau dukungan pendengar yang dapat diimpor baru -baru ini. Selain itu, desain kode untuk GNET menjadi redundan baru -baru ini. Oleh karena itu, GKNET dibuat mengambil keuntungan dari bagian GNET yang dirancang dengan baik, seperti buffer di ruang pengguna, antrian bebas kunci, dll.
GKNET mencoba menjaga kode dari redundansi, mengadaptasi pendengar dari perpustakaan standar, dan juga provie builtin http serta dukungan TLS. Lebih banyak optimasi dan fungsionalitas sedang dalam perjalanan: