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