QT 编写一个TCP 协议的Server端,支持多客户端连接,一个连接交由一个线程来处理。
需要用到 QTcpServer QTcpSocket QThread
QTcpServer 最主要的一个incomingConnection函数说明
由定义就可以知道,当QTcpServer监听到一个可用的连接时,会有一个socket descriptor 。
进一步,一个socket descriptor对应一个线程,在线程里一句socket descriptor创建QTcpSocket。
设计:
1、自定义封装一个server类 继承QTcpServer ,重写void incomingConnection(int socketDescriptor);
2、自定义封装一个serverThread线程类继承QThread ,重写void run();
3、自定义封装一个MySocket类 继承QTcpSocket ,实现收发;
将UI跟server绑定起来,既可以实现界面的显示及数据发送。
需要用到 QTcpServer QTcpSocket QThread
QTcpServer 最主要的一个incomingConnection函数说明
由定义就可以知道,当QTcpServer监听到一个可用的连接时,会有一个socket descriptor 。
也就是说服务端监听到一个连接,就会有一个唯一的描述标识,依据这个标识会创建一个QTcpSocket,
可以同客户端进行通信
进一步,一个socket descriptor对应一个线程,在线程里一句socket descriptor创建QTcpSocket。
设计:
1、自定义封装一个server类 继承QTcpServer ,重写void incomingConnection(int socketDescriptor);
2、自定义封装一个serverThread线程类继承QThread ,重写void run();
3、自定义封装一个MySocket类 继承QTcpSocket ,实现收发;
流程:
server ---> serverThread ---> MySocket三者的关联是 socketDescriptor;
将UI跟server绑定起来,既可以实现界面的显示及数据发送。