Qt demo, 做了一个Udp发送的例子,参考:
https://stackoverflow.com/questions/6515589/how-do-i-send-and-receive-udp-packets-in-qt
代码如下:
1. 引用与全局socket定义:
#include <QUdpSocket>
QUdpSocket *socketUdp;
2. 发送与接收
//发送
void FormNetComm::sendUDP(){
QString msg = "UDP test- in Berger King";
QByteArray bytes = msg.toUtf8();
QHostAddress *remoteIp = new QHostAddress("127.0.0.1");
socketUdp->connectToHost(*remoteIp,1000);
socketUdp->write(bytes);
}
//开启监听
void FormNetComm::initUDPSocket()
{
socketUdp = new QUdpSocket(this);
socketUdp->bind(QHostAddress::LocalHost, 7755);
connect(socketUdp, SIGNAL(readyRead()), this, SLOT(readUDPPendingDatagrams()));
}
//接收
void FormNetComm::readUDPPendingDatagrams()
{
while (socketUdp->hasPendingDatagrams()) {
QNetworkDatagram datagram = socketUdp->receiveDatagram();
QString str = QString::fromUtf8(datagram.data());
qDebug() << "udp resp: " << str;
}
}
效果,TCP助手、QtCreator输出: