Qt UDP组播的应用
来源:互联网 发布:加湿器 类型 知乎 编辑:程序博客网 时间:2024/06/03 18:57
最近学习了组播的应用。组播传输:在发送者和每一接收者之间实现点对多点网络连接。如果一台发送者同时给多个的接收者传输相同的数据,也只需复制一份的相同数据包。它能提高了效率。减少了骨干网络出现拥塞的可能性。
因为最近在看视频传输,对于一个客户端的视频,如果通过组播的方式传输给其他端,那么对于传输效率和处理速度是有非常大的帮助的,所以组播在一些特定领域起到了很大的帮助。
那么在Qt中一个socket加入组播应该怎么写呢?
multicastsocket = new QUdpSocket(this); QHostAddress multiAddr("224.2.3.1");//这里要选一个组播地址 if(!multicastsocket->bind(QHostAddress::AnyIPv4,20002,QAbstractSocket::ShareAddress)){ qDebug()<<"连接失败"; } //设置缓冲区 multicastsocket->setSocketOption(QAbstractSocket::MulticastLoopbackOption,0); //加入组播组 if(!multicastsocket->joinMulticastGroup(multiAddr)){ qDebug()<<"加入组播失败"; } //连接信号与槽 connect(multicastsocket,SIGNAL(readyRead()),this,SLOT(dataRecieved()));//dataRecieved是接收端的接收函数
我觉得比较重要的有下面几点:
第一是对于发送端它是不需要加入组播的,当然加入也可以,但是理论上只需要接收端进行加入组播并且选择端口进行监听。发送端只需要向选定的组播地址和组播端口发送数据就可以了。
第二个是其实组播和正常的Qt局域网通信其实差不太多。别忘记了
if(!multicastsocket->joinMulticastGroup(multiAddr)){...}这句话,这句话是能接收到数据的关键,也是组播和非组播的区别之一。
阅读全文
1 0
- Qt UDP组播的应用
- QT Udp组播
- QT Udp组播
- 关于QT UDP组播的两个问题
- QT之UDP和组播的使用
- 关于QT UDP组播的两个问题
- QT之UDP和组播的使用
- UDP组播的实现
- 组播的应用
- 对于UDP组播的一些认识
- 对于UDP组播的一些认识
- AISO教程UDP组播的例程
- udp组播的奇怪现象
- UDP的组播简单实现
- Java UDP组播的总结
- 接收udp组播信息的方法
- FCL应用技巧之------实现UDP组播
- UDP协议组播
- codeforces790B
- cocos-lua学习笔记(七)场景迁移及迁移动画
- java学习第50天,文件读写
- Linux swap命令
- ACboy needs your help HDU
- Qt UDP组播的应用
- 《零基础入门学习Python》学习笔记2
- Java的包
- Let's know more about '数组'
- 多视角半监督学习:从文本数据中得到不同视角
- MySQL初学者简要操作说明
- 输入三个数,得到最大值
- 在linux+nginx+mysql+php环境下安装 phpmyadmin
- Eclipse Java汉化