《UDP客户端编程总结》
1:在 .por文件中加入
QT +=network
2:添加库文件
#include <QUdpSocket>
3:创建网络套接字
QUdpSocket *udpsocket=new QUdpSocket
4:发送数据代码的实现
1:发送到广播地址的方式(在本网段的所有IP都可以收到消息,即一对多)
QString information("HELLO WORLD!");
QByteArray datagram=information.toStdString().c_str();
udpsocket->writeDatagram(datagram.data(), datagram.size(),
QHostAddress::Broadcast,16888);
PS:
(1)创建QString information("HELLO WORLD!")并初始化赋值HELLO WORLD!
(2)创建QByteArray datapram--->相当与 char world[100];
(3)将QString 类型的 变量information使用 toStdString().c_str() 转换为QByteArray能接受的数据
(4)发送数据给本网段的所有IP-->使用writeDatagram()函数向套接字中写入 变量 datagram的数据(使用data()函数来获取)然后--->获取datagram.size()的数据长度(不包含'\0',size()相当于使用C语言中的函数strlen)
(5)QHostAddress::Broadcast 是一个宏相当于Linux udp中的 广播地址(如果自己的IP为:192.168.0.100,则这 个网段的广播地址就是192.168.0.255--->就是这个意思)
(6)16888是接收方的端口号
单播下回总结!!!!!!!!!!!!