![98fad3b98755a3821f4c8012c927d884.png](https://i-blog.csdnimg.cn/blog_migrate/b44bea5abb80d8fa0cbdfb9c82b2e67e.jpeg)
总第20篇
本文接第19篇,继续梳理TCP通信过程中的重要知识。本文主要系统地讲解通信服务端部分,以供在以后的项目开发过程中参考。如果觉得不错可以关注专栏 面向加薪编程C/C++ ,第一时间接收文章更新。
1.实现原理
Qt通信过程中,服务端主要是通过QTcpServer
创建服务器,监听相应的端口等待客户端连接,当连接成功时可以获得socket
描述符,只有拿到了这个socket
句柄才可以进行数据传输。 服务器用来检测新连接的信号是newConnection()
,在此信号对应的槽中可以对socket
进行获取并处理。具体的使用可以参考说明文档,这里示例使用方法如下:
QTcpServer server = new QTcpServer(this);
if(server->listen(QHostAddress::Any, 5566)
{
//监听成功时可以绑定信号
connect(server, SIGNAL(newConnection()), this, SLOT(SlotNewConnection()));
}
else
{
//监听失败做相应的处理
}
void SlotNewConnection() //监听成功的槽函数