- 我之前的文章对TCP/IP有很详细的介绍,我再简单的简介下TCP通信的执行。
1.服务器
1)服务器开启监听
2)服务器创建套接字
3)等待客户端连接
4)与客户端收发数据
5)断开套接字
一. 服务器端
1.创建套接字
1)在.pro文件中加入 network
2.开启监听
- 输入IP+端口号
3.与客户端建立连接
1)当客户端与服务器建立连接后,会触发 &QTcpServer::newConnection 信号,调用槽函数接收
2)在我封装的函数中 "mserver->hasPendingConnections()"判断是否有套接字连接.
3)nextPendingConnection();表示i与客户端连接的套接字
4)当客户端向服务器发送数据时,触发&QTcpSocket::readyRead信号
void myserver::run()
{
//(3)当服务器被客户端访问时,会发出newConnection()信号,因此为该信号添加槽函数,并用一个QTcpSocket对象接受客户端访问
connect(mserver,&QTcpServer::newConnection,this,&myserver::recieve_client);
qDebug()<<"123";
}
void myserver::recieve_client()
{
while(mserver->hasPendingConnections())//接收所有客户端数据
{
//mserver->hasPendingConnections();
//获取客户端连接
msocket=mserver->nextPendingConnection();