Es una biblioteca neta escrita en Go aplicando el patrón del reactor inspirado en GNET. Ciertamente, Gknet se presenta mucho de GNET, pero también trae algo nuevo.
go get -u github.com/moqsien/gknet@latestejemplos
Licencia
panjf2000
En realidad, Gnet es una biblioteca neta muy excelente escrita en GO. Pero la causa principal para crear GKNet es que me pareció realmente difícil implementar una funcionalidad de reaboración de gracia para las aplicaciones GNET. Gnet aplica un oyente especial no importable, pero no hay un adaptador para un oyente de la biblioteca estándar. Parece que la única forma de lograr un reinicio elegante es el truco inseguro de puntero, o solo tenemos que crear un problema o retirar una solicitud en el proyecto GNET.
Sin embargo, también noté que GNET en sí no es compatible con HTTP y TLS, y el autor Andy Pan no tiene ningún plan para implementar TLS o soporte de oyentes importable recientemente. Además, el diseño del código para GNET se vuelve de alguna manera redundante recientemente. Por lo tanto, Gknet se crea aprovechando la parte bien diseñada de GNET, como los búferes en el espacio del usuario, las colas sin bloqueo, etc.
Gknet intenta evitar que el código se redundan, adaptar el oyente de la biblioteca estándar y también el HTTP creado de Provie, así como el soporte de TLS. Más optimizaciones y funcionalidades están en camino: