网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
前言
本章节会给大家带来Qt5 事件处理及实例——多线程应用、服务器端编程、客户端编程详解。通过实现一个多线程的网络时间服务器,介绍如何综合运用多线程技术编程。每当有客户请求到达时,服务器将启动一个新线程为它返回当前的时间,服务完毕后,这个线程将自动退出。同时,用户界面会显示当前已接收请求的次数。
一、服务器端编程
1.1、效果实例
图一
1.2、原码解析
首先在TimeServer.pro中加入 QT +=network
QT += network
dialog.h
#ifndef DIALOG\_H
#define DIALOG\_H
#include <QDialog>
#include <QLabel>
#include <QPushButton>
class TimeServer;
class Dialog : public QDialog
{
Q_OBJECT
public:
Dialog(QWidget \*parent = 0);
~Dialog();
private:
QLabel \*Label1; //此标签用于显示监听端口
QLabel \*Label2; //此标签用于显示请求次数
QPushButton \*quitBtn; //退出
TimeServer \*timeServer; //TCP 服务器端 timeserver
int count; //请求次数计数器 coun
public slots:
void slotShow ();
} ;
#endif // DIALOG\_H