epoll模型设计海量级连接服务器
来源:互联网 发布:我的世界端口固定 编辑:程序博客网 时间:2024/05/22 19:53
原文请参考:http://blog.sina.com.cn/s/blog_659c1e660100p5hk.html
最近在参与一个海量级(20000以上)远程连接的服务器设计,由于用户要求的硬件平台仅限于Linux,因此选择了epoll模型来实现对海量客户端连接的处理。
epoll模型提供了二种工作模式:
1) Edge Triggered (ET)
ET是高速工作方式,只支持no-block socket。当IO事件发生时内核通知事件后不再发送更多的通知,直到用户执行的操作导致那个socket(或文件描述符)事件的改变,也就是说如果用户不对socket(或文件描述符)进行IO操作,那么内核也不会再通知事件。
2) Level Triggered (LT)
LT是缺省的工作方式,同时支持block和no-block socket。内核通知事件一个文件描述符是否就绪了,然后可以对这个就绪的fd进行IO操作。如果用户不作任何读、写操作,内核还是会继续通知事件的。
一、业务需求如下图,要求满足高并发、高性能、高可靠等属性。
二、流程设计:
1) 主进程
1) Net_recv_thfunc工作线程
Handle_NetRecv函数流程
2) Net_send_thfunc工作线程
- epoll模型设计海量级连接服务器
- epoll模型设计海量级连接服务器
- epoll模型设计海量级连接服务器
- epoll模型之服务器设计
- 采用epoll模型服务器连接管理器实现
- Epoll模型服务器实现
- epoll模型服务器
- epoll同时处理海量连接的代码
- 千百万以上海量连接的select、poll和epoll等网络I/O模型的性能测试与分析提纲
- 服务器epoll+thread pool模型
- epoll一个简单模型设计
- 一步一步学epoll同时处理海量连接的代码
- 简单linux服务器模型--epoll 2011
- 服务器开发【2】--Linux Epoll模型
- 简易HTTP服务器(epoll模型ET版本)
- C++ linux epoll并发服务器模型初探
- 游戏服务器epoll网络模型简析
- IOCP模型与EPOLL模型的比较 服务器优化
- cydia重要依赖包的源地址
- vs2010调试dll,以及与vc6.0的一点小区别
- 截屏快捷键
- 正则表达式整理【持续录入】
- PHP 以编译方式安装,编译参数详解析!
- epoll模型设计海量级连接服务器
- [官版翻译ing]OpenStack云计算快速入门之一:OpenStack及其构成简介
- 获取SQL Server的版本信息
- 内存泄露、内存溢出的区别
- Window_Open详解
- 生命终究是痛苦的
- getOutputStream() has already been called for this response异常的原因和解决方法
- Win32串行通信中文版(Serial Communications In Win32)
- IOS谓词--NSPredicate