epoll for qt网络模块,直接替换qt的select模型


最近在开发im服务器,需要大并发链接。QT默认的是使用select模型的,这种轮询方式非常慢。我 github找到了epoll版本的qt.修改了QT的socket notify内核,不需要修改原来编写的代码,直接设置QT的事件转发方式就行了。支持qt4.0和5.0

在 main文件添加

#include<QCoreApplication>
#include"configserver.h"
#include<QThread>
 
#ifdefQ_OS_LINUX
#include"qeventdispatcher_epoll.h"
#endif
 
 
intmain(intargc,char*argv[])
{
 
#ifdefQ_OS_LINUX
QCoreApplication::setEventDispatcher(newQEventDispatcherEpoll);
#endif
 
QCoreApplicationa(argc,argv);
 
 
returna.exec();
}

在。pro文件添加

linux{
    QT += core-private
 
    SOURCES += ../common/qeventdispatcher_epoll.cpp
    HEADERS += ../common/qeventdispatcher_epoll.h
    }

可以直接跨平台了使用了。上qt epoll源码下载地址:

------------------------------------------分割线------------------------------------------

FTP地址:ftp://ftp1.bkjia.com

用户名:ftp1.bkjia.com

密码:www.bkjia.com

在 2014年LinuxIDC.com\4月\epoll for qt网络模块,直接替换qt的select模型

下载方法见

------------------------------------------分割线------------------------------------------

Qt 的详细介绍:请点这里
Qt 的下载地址:请点这里

推荐阅读:

Ubuntu 环境下Gtk与QT编译环境安装与配置

Linux系统下QT环境搭建

Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法

Ubuntu 10.04下QT4.7.4移植详解

Linux下为刚安装好的Qt Creator 创建桌面启动图标

Ubuntu 11.04安装QT Creator 2.5.0

Qt creator for PlayBook安装过程

相关内容