Qt要实现TCP通信需要两个类,第一个是服务器端,需要用到QTcpServer类,第二个是客户端,需要用到QTcpSocket类。另外,要想在Qt中进行网络通信,需要在pro文件中加入network模块。
QTcpServer类的常用接口与信号
C语言建立Tcp通信时,需要经历“socket函数创建套接字-->bind绑定地址结构-->listen设置最大监听数-->accept监听来自客户端的连接”这几个阶段,QTcpServer中的listen函数就相当于C语言中bind和listen的功能
isListening函数用于判断当前TcpSever类型的对象是否处在监听状态
serverAddress函数用于获取当前对象所监听的IP地址
serverPort函数用于获取当前对象所监听的端口
nextPendingConnection函数用来返回一个和客户端建立连接的套接字
阻塞等待客户端的连接请求,msec为阻塞的最大时长,超过该时长后函数会解除阻塞继续往下执行,timeOut是一个传出参数,若超时则返回true
newConnection信号会在收到客户端connectToHost请求后发出的
QTcpSocket类的常用接口与信号
QTcpSocket类的继承链如下