- 系统:win10
- 通信:UDP
简介
在写聊天软件练习时,作为服务器端需要优先知道客户端的Ip及地址,客户端发送数据过来时用
QNetworkDatagram
接收
代码
void UDPServer::slotRecvData()
{
while (pUdpRecv->hasPendingDatagrams())
{
QNetworkDatagram datagram = pUdpRecv->receiveDatagram();
processTheDatagram(datagram);
}
}
void UDPServer::processTheDatagram(QNetworkDatagram _nd)
{
const int iSenderPort = _nd.senderPort();
QString strSenderAddr = _nd.senderAddress().toString();
if(strSenderAddr.contains("::ffff:"))
{
strSenderAddr = strSenderAddr.mid(7);
}
cout << iSenderPort << "\t" << strSenderAddr;
}
输出结果:53967 "127.0.0.1"