Qt UDP发现网关实现
来源:互联网 发布:js编码转换为utf8 编辑:程序博客网 时间:2024/05/26 20:19
在局域网的开发过程中,有时候会用到通过UDP广播去发现网段内的网段,可以采取这种方式:
_BroadcastSock = new QUdpSocket(this); _BroadcastSock->bind(9090); connect(_BroadcastSock,SIGNAL(readyRead()),this,SLOT(OnBroadcaseReceive())); QByteArray cmd("GETIP"); cmd.push_back(0x0D); cmd.push_back(0x0A); if(_BroadcastSock->writeDatagram(cmd,cmd.length(),QHostAddress::Broadcast,9090) \ !=cmd.length()) { QMessageBox::warning(this,tr("警告"),tr("网络错误"),0,0); return; }
绑定了端口后,当网段内其他IP在此端口发送数据,并且收到的时候,都会在OnBroadcaseReceive()槽函数中处理。
void smartclass::OnBroadcaseReceive(){ QHostAddress addr; quint16 port; while (_BroadcastSock->hasPendingDatagrams()) { QByteArray datagram; datagram.resize(_BroadcastSock->pendingDatagramSize()); _BroadcastSock->readDatagram(datagram.data(), datagram.size(),&addr, &port); QString ipStr(datagram); BroadMsgHandle(addr,port,ipStr); return; }}
在这里获取数据的 时候,同时把数据源的ip和端口都获取了。QHostAddressaddr;quint16port;
具体协议如何实现,楼主是在
BroadMsgHandle(addr,port,ipStr);中实现的。
0 0
- Qt UDP发现网关实现
- Qt-----实现Udp通信
- QT:UDP网络编程实现
- UDP聊天 网关原理
- QT实现局域网聊天工具(带UDP文件传输)
- Qt实现UDP通信简例
- Qt实现UDP广播简例
- Qt实现UDP通信简例
- 局域网发现设备代码实现:udp组播
- Qt udp
- QT UDP
- qt 获取网关
- [QT]局域网内机器的自发现实现
- 基于Qt的UDP传输文字聊天小软件实现
- QT 实现屏幕共享,遇到udp掉包的问题
- Qt中udp实现中文字符串的传输
- 10 qt udp编程和网络聊天室的实现
- TCP/UDP通信编程在Qt中的实现方法
- iOS开发-简单方法实现扒下网站html保存到本地文件
- PhpCms系统config.inc.php详细参数介绍
- Mockito Quick Start
- 【RPC框架Hessian一】Hessian RPC Hello World
- IIS配置跨服务器迁移
- Qt UDP发现网关实现
- DOS下获得当前文件夹目录的命令
- 【编程之美】初赛第二题 树
- Oracle游标详解
- 无向图的连通分量
- 【linux】性能测试优化中硬件指标性能的依赖
- VM上Fedora虚拟机访问外网设置(固定IP)
- C++中的time
- 360:9月16日近8万网站遭攻击 被攻击次数达3.6亿次