Qt界面编程(五)

一、Qt的网络通信

​ 使用网络通信模块前,要在.pro文件中添加network模块。

QUdpScoket类是Qt对UDP协议的封装:

​ 1、创建QUdpSocket对象

​ 2、绑定IP的端口号

​ 3、发送数据:

​ qint64 writeDatagram(const char *data, qint64 len, const QHostAddress &host, quint16 port);
​ data:待发送数据的首地址
​ len:待发送数据的长度
​ host:发送目标的ip地址
​ port:发送目标的端口号
​ 返回值:成功发送的字节数

​ 4、接收数据:

​ 给void readyRead()信号连接一个槽函数,当信号触发时,就说明有数据发送过来。
​ qint64 readDatagram(char *data, qint64 maxlen, QHostAddress *host = 0, quint16 *port = 0);
​ data:存储数据的缓冲区
​ maxlen:缓冲区大小
​ host:存储发送者的地址
​ port:存储发送者的端口号

​ 注意:由于界面需要维护,因此不能使用阻塞模式进行通信,只能采用信号的方式进行通信。
​ 注意:每个QUdpSocket对象都要绑定ip地址和端口号。

Qt中封装了TCP的协议QTcpServer类负责服务端

你可能感兴趣的:(qt,linux)