azeroth-sha / nets

nets是一个高性能/轻量级的网络库。支持TCP/UDP的客户端和服务端。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Go 语言的轻量网络库

📖 简介

nets是一个高性能、轻量级的Go标准库net.Conn封装,每个conn仅启用一个goroutine,资源复用,达到更优的任务效果。

特别说明: 设计灵感来自Gnet(包括本文档 ^_^),不依赖第三方库。

🚀 功能:

  • 非阻塞的异步网络工具库
  • 使用sync.Pool管理buff资源,达到复用目的并合理自旋。
  • 提供简约而不简单的连接管理
  • 优雅处理连接panic,防止程序崩溃(未处理OnBoot/OnShutdown/OnTick, 个人认为在服务启动、停止时进行回收错误没有任何意义并可能照成无法预估的后果。 欢迎讨论)
  • 连接事务非阻塞机制,优雅的处理多重关闭事件,杜绝重复关闭。

🛠 使用

📄 证书

nets 的源码允许用户在遵循 MIT 开源证书 规则的前提下使用。

About

nets是一个高性能/轻量级的网络库。支持TCP/UDP的客户端和服务端。

License:MIT License


Languages

Language:Go 100.0%