1. 创建UDP套接字
使用QUdpSocket类创建一个UDP套接字。
udpSend=new QUdpSocket(this);
udpRece=new QUdpSocket(this);
2. 绑定套接字
绑定套接字到一个本地地址和端口。可以使用bind()函数来完成。
如果要在组播中发送数据,可以将套接字绑定到一个通配符地址(如QHostAddress::Any)和指定的端口上。
void MainWindow::on_pBt_joinGroup_clicked()
{
QString IP_Group=ui->lineEdit_groupAddr->text();//获取组播地址
groupAddr=QHostAddress(IP_Group);
quint16 groupPort=ui->lineEdit_goupPort->text().toInt();//获取组播端口
if(udpRece->bind(QHostAddress::AnyIPv4,groupPort,QUdpSocket::ShareAddress)){//绑定地址
udpRece->joinMulticastGroup(groupAddr);//加入组播
ui->plainTextEdit->appendPlainText("**加入组播成功");
ui->plainTextEdit->appendPlainText("**组播IP地址:"+IP_Group);
ui->plainTextEdit->appendPlainText("**绑定端口:"+QString::number(groupPort));
ui->pBt_joinGroup->setEnabled(false);
ui->pBt_exitGroup->setEnabled(true);
}
}
3. 加入组播组
使用joinMulticastGroup()函数将套接字加入到指定的组播组中。
该函数需要指定组播组的地址和接口地址。
udpRece->joinMulticastGroup(groupAddr);//加入组播
4. 发送数据</