【菜鸟学Qt—5】Qt中 udp的初始化及数据接收
2016-11-19 22:32
281 查看
//revthread.cpp 该文件的udp设置 及接收函数 void MainWindow::UdpInit(void) { glv_UDPRevSocket =new QUdpSocket(this); connect(glv_UDPRevSocket,SIGNAL(readyRead()),this,SLOT(datareceive())); bool result= glv_UDPRevSocket->bind(port,QUdpSocket::ShareAddress); if(!result) { qDebug()<<"udp init chucuo"; } } //报文接收缓冲区 char glv_recebuffer[200]; void MainWindow::datareceive() { if(recflag!=1) recflag=1; while (glv_UDPRevSocket->hasPendingDatagrams()) { qDebug()<<glv_UDPRevSocket->pendingDatagramSize(); glv_UDPRevSocket->readDatagram(glv_recebuffer,\ glv_UDPRevSocket->pendingDatagramSize()); } }
我这里使用了数组进行数据的接收,还可以用ByteArray类型进行数据的接收。
这种数组接收的方式有一点问题,如果数据大小超过了数组的大小就会有错误产生,程序就会崩溃,所以大家尽量不要使用这种方式。
下次再更新另一种方式吧。
相关文章推荐
- 关于Qt中Udp通信过程中的接收数据部分注意
- 使用UDPClient发送和接收数据
- c#中UDP数据发送和接收
- QT中用udp客户端发送消息,丢失数据的情况以及处理!
- UDP 协议 C# UdpClient乱序接收数据包丢失的问题 Socket ReceiveBufferSize
- 一个简单的udp接收数据的例子
- 使用UDP非连线式发送接收数据(聊天室模式)
- [C#] 接收和发送UDP数据
- 10-socket的实践到内核--UDP的socket数据的接收
- CSerialPort类接收数据时comstat未初始化
- ffmpeg命令行接收UDP(MPEG-TS)数据
- 第二人生的源码分析(三十)UDP接收数据和Windows网络关闭
- 蔡军生先生第二人生的源码分析(三十)UDP接收数据和Windows网络关闭
- 使用UDP协议发送和接收数据
- CSerialPort类接收数据时comstat未初始化
- s60中UDP接收数据
- 使用UDP协议发送和接收数据
- QT中TCP/UDP通信数据的组织
- [C#] 接收和发送UDP数据
- CSerialPort类接收数据时comstat未初始化