Socket就是所谓的“套接字”,套接字就是一个IP地址加一个port端口号。
一般不建议发送大于512字节的数据,即便被发送成功,它们很可能是在到达最终目的地以前就在IP层被分割了。
QUdpSocket * sender;
void Sender::on_pushButton_clicked()
{
QByteArray datagram = "hello world!";
sender->writeDatagram(datagram.data(),datagram.size(),QHostAddress::Broadcast,45454);
}
接收端:
QUdpSocket * receiver;
receiver = new QUdpSocket(this);
receiver->bind(45454,QUdpsocket::ShareAddress);
connect(receiver,&QUdpSocket::readyRead,this,&Receiver::processPendingDatagram);
hasPendingDatagrams()来判断是否有等待读取的数据报。
pendingDatagramSize()来获取当前数据报的大小,然后使用readDatagram()函数接收不大于指定大小的数据报,并将其存储到QByteArray变量中。
Broadcast Sender Example 和 Broadcoat Receiver Example示例