Qt界面编程(五)

本文介绍了Qt中网络通信的实现,包括QUdpSocket类的UDP通信步骤,QTcpServer类的服务端TCP通信,以及QTcpSocket类的客户端TCP通信。强调了非阻塞模式的使用以及信号在通信中的重要性。
摘要由CSDN通过智能技术生成

一、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类负责服务端

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值