QT UDP单播,广播,组播

单播:客户端与服务器建立一个单独的数据通道,从一台服务器送出的数据包只能到特定的客户端。

广播:向子网中所有计算机发送消息。

组播:又叫多路广播,消息从服务器发送到子网中,同时计算机也可以加入制定的组播中来接受消息。

 

对于发送端  QT中单播、组播、广播的写法相似  需要把地址改了就行了

 udpsocket.writeDatagram(arr,QHostAddress(ip_send),port);

例如  当ip_send 是正常的IP 比如局域网内  192.168.1.112  这就是单播

         当ip_send是D类地址  这就是组播

         当ip_send是QHostAddress::Broadcast  这是广播

 

 

对于接收端  单播、组播、广播步骤都一样

1 创建套接字

read=new QUdpSocket(this);

2 绑定地址端口号

 read->bind(port,QUdpSocket::ShareAddress);//这个是绑定某个端口

组播,广播这样绑定  bind(QHostAddress::AnyIPv4,6677);参考自http://www.cnblogs.com/wurenzhong/p/8030220.html

  //shareaddress 允许绑定在同一个端口  

3 如果是组播还涉及的是否加入组播地址

 Socket->joinMulticastGroup(QHostAddress("224.0.0.100"));

   加入之后退出

   Socket->leaveMulticastGroup(QHostAddress("224.0.0.100"));

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值