最近在开发im服务器,需要大并发链接。QT默认的是使用select模型的,这种轮询方式非常慢。在高并发连接,我们需要epoll才能发挥linux服务器的性能.而且使用简单,整个服务端代码架构无需修改,设置QT的分发事件就可以使用了,只要在main里面添加 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
int main(int argc, char *argv[]) { #ifdef Q_OS_LINUX QCoreApplication::setEventDispatcher(new EventDispatcherLibEvent); // qInstallMessageHandler(customMessageHandler); #endif QCoreApplication a(argc, argv); auto *ser=new ConfigServer; ser->startServer(); return a.exec(); } |
近期评论