Qt - 一个简单的回显服务器
Posted
技术标签:
【中文标题】Qt - 一个简单的回显服务器【英文标题】:Qt - A simple echo server 【发布时间】:2011-05-31 09:37:41 【问题描述】:在 Qt 中,你将如何在 QThreadPool 中保持线程处于活动状态;据我所知,只有一个运行 QRunnable 的选项,我被告知他们无法控制它们所在的线程。我将如何使用线程池保持套接字处于活动状态并准备好进行读写?
【问题讨论】:
【参考方案1】:QThreadPool 管理自己的线程。 QT Doc 说
QThreadPool 管理和回收 单独的 QThread 对象来帮助 减少线程创建成本 使用线程的程序。
所以你不应该试图让线程保持活动状态。这打破了线程池的目的。
QT 套接字也被设计为与主事件循环一起工作。为什么不尝试使用它们?
【讨论】:
【参考方案2】:a) 只需使用 QThread 后代,而不是线程池。
b) 不要将套接字绑定到线程 - 当 select() 返回时,分配一个线程来处理套接字事件。
Rgds, 马丁
【讨论】:
以上是关于Qt - 一个简单的回显服务器的主要内容,如果未能解决你的问题,请参考以下文章
Qt/C++ echo client + python echo server的问题(没有收到数据)