QT基础知识-通信(第四天)
1,Linux中Tcp通信流程简介 服务器端:创建socket(监听套接字),绑定bind,服务器端监听listen,接受accept(通信套接字)。 客户端:创建socket(通信套接字),连接connect(客户端主动和服务器链接) 2,Qt中Tcp的通信机制 Qt中服务器端也有两个套接字,其中一个类似QTcpServer(监听套接字),然后Linux中的bind和listen合在了一起为listen()函数,另一个通信套接字是QTcpSocket(通信套接字)。连接的时候有一个connectToHost(),但是通信的时候是一种信号和槽的连接,当主动连接的时候,成功后,服务器端会收到一个newConnection()信号,然后就会触发槽函数,参函数就会取出建立好连接的套接字 QTcpSocket()。 如果成功和对方建立好连接,通信套接字会自动触发connected();如果对方主动断开连接,通信套接字会自动触发disconnected()信号。发送数据的时候,如果发送成功,对方的通信套接字会触发readyRead()信号,需要在对应的槽函数做接收处理。 3,Qt中的Tcp客户端和服务端开发示例 效果图: 服务器代码: #include "widget.h" #include "ui_widget.h" Widget::Widget(QWidget *parent) :