【文件属性】:
文件名称:nginx-tcp-server:基于Nginx的高性能TCP服务器
文件大小:1.09MB
文件格式:ZIP
更新时间:2021-05-15 20:49:22
C
nginx tcp server
基于nginx的高性能的TCP服务器模块。采用协程(makecontext)实现纯异步,
异步支持mysql,redis等常用的基于TCP的驱动。
本模块基于nginx的stream开发。只支持1.9.x以上的版本。
基于协程的异步实现:
基于协程的异步实现基本原理是:
通过重写系统的connect,recv,send,read,write及其它相关IO函数。
每一个请求过来时,开启一个新的协程,在这个协程中,进行新的网络
连接时(connect),重写的connect函数自动把socket设置为非阻塞。
当在协程中进行读写时,如果socket未就绪(不可读或不可写),
重写的send,recv,read,write函数自动会挂起当前协程,
返回到主程序处理其它请求。在挂起当前协程的同时会给
该socket添加读或写的事件监听,当该描述符就绪时(可读或可写