1)头文件包含 QUdpSocket, pro文件加入QT+= network
2)初始化 UdpSocket *pSocket = UdpSocket(this);
3)绑定IP和端口 pSocket->bing(QHostAddress(“IP”), 4000);
4)绑定读数据
connect(pSocket, UdpSocket::readyRead(), this, Slot_ReadyRead());
void Widget::Slot_ReadyRead()
{
QByteArray ba;
QHostAddress addr;
quint16 port;
while(pSocket->hasPendingDatagrams())
{
三种消息处理
A。上线消息 inline#name#inlineEnd
B。转发消息 msg#from#to#content#msgEnd
C。下线数据 unline#name#unlineEnd
ba.resize(pSocket->pendingDatagramSize());
ba.clear();
add.clear();
port = 0;
pSocket->readDatagram(ba.data(), ba.length(), &addr, &port);
}
}
5)绑定错误处理
connect(pSocket, UdpSocket::error(QAbstractSocket::SocketError), this, Slot_Error(QAbstractSocket::SocketError));
6)绑定写数据
pSocket->writeDatagram(msg, QHostAddress, port);