组播的概念:(Multicast)在发送者和每一接收者之间实现点对多点网络连接。如果一台发送者同时给多个的接收者传输相同的数据,也只需复制一份的相同数据包。它提高了数据传送效率。减少了骨干网络出现拥塞的可能性。
1、服务器加入到组播:
udpSocket = new QUdpSocket(this);
udpSocket->bind(QHostAddress::Any, 9999, QUdpSocket::ShareAddress);
udpSocket->joinMulticastGroup(QHostAddress("224.0.0.2"));
收到消息处理函数:
connect(udpSocket,SIGNAL(readyRead()),this,SLOT(dealMsg()));
void Udpduobo::dealMsg()
{
char* buf = new char[256];
memset(buf,0x0,sizeof(buf));
QHostAddress ip;
quint16 port;
udpSocket->readDatagram(buf,sizeof(buf),&ip,&port);
QString strMsg = QString("[%1::%2]消息收到").arg(ip.toString()).arg(port);
QM