Il s'agit d'une bibliothèque nette écrite dans GO en appliquant le modèle de réacteur qui est inspiré par GNET. Certes, GKNET informe beaucoup de GNET, mais il apporte également quelque chose de nouveau.
go get -u github.com/moqsien/gknet@latestexemples
Licence
panjf2000
En fait, Gnet est une très excellente bibliothèque de filets écrite dans Go. Mais la principale cause de création de GNETT est que j'ai trouvé qu'il est vraiment difficile d'implémenter une fonctionnalité gracieuse de réduction pour les applications GNET. Un écouteur spécial non imporable est appliqué par GNET, mais il n'y a pas d'adaptateur pour un écouteur de la bibliothèque standard. Il semble que la seule façon de réaliser un écart gracieux est l'astuce de pointeur dangereuse, ou nous devons simplement créer une demande de problème ou de traction dans le projet GNET.
Cependant, j'ai également remarqué que GNET lui-même ne prend pas en charge HTTP et TLS, et l'auteur Andy Pan n'a pas l'intention de mettre en œuvre le TLS ou la prise en charge de l'écoute imporable récemment. En outre, la conception de code pour GNET devient en quelque sorte redondante récemment. Par conséquent, GKNET est créé en profitant de la pièce bien conçue de GNET, comme des tampons dans l'espace utilisateur, des files d'attente sans verrouillage, etc.
GKNET essaie de garder le code de la redondance, d'adapter l'auditeur de la bibliothèque standard, et également de fournir HTTP intégré ainsi que de la prise en charge TLS. Plus d'optimisations et de fonctionnalités sont en route: