2025年udp局域网广播(udp广播实现)

udp局域网广播(udp广播实现)博客主页 nbsp 我要成为 C 领域大神 系列专栏 C 核心编程 nbsp 计算机网络 nbsp Linux 编程 nbsp 操作系统 感谢大家点赞 收藏 评论 本博客致力于分享知识 欢迎大家共同学习和交流 广播分为两种 直接广播和有限广播 在某个网段内发送数据可以跨路由器 通过直接广播



🔥博客主页: 我要成为C++领域大神

🎥系列专栏:【C++核心编程】 【计算机网络】 【Linux编程】 【操作系统】

❤️感谢大家点赞👍收藏⭐评论✍️

本博客致力于分享知识,欢迎大家共同学习和交流。

广播分为两种,直接广播和有限广播,

在某个网段内发送数据可以跨路由器,通过直接广播,就是将这个网段的网络号不变,主机号变为全1,即x.x.x.255
例如广播地址是192.168.3.255,那么网段为192.168.3.xxx的所有主机都会收到。
将UDP协议的服务端和客户端代码进行稍微修改,可以实现广播。
将客户端中目的主机的IP修改为192.168.3.255,这样就是所有网段为192.168.3.xxx的主机均可以收到。
将客户端的接收代码注释,并且将服务端的发送代码注释掉

 

实现结果如图所示:

有限广播是向局域网中任意网段发送数据,发送地址是255.255.255.255,不能跨路由器进行。
有限广播需要设置一个广播权限,使用setsockopt函数。函数的返回值是0或者SOCKET_ERROR,若返回0说明正常设置权限。

 

第一个参数是需要设置权限的套接字;第二个参数是定义选项的级别,填写SOL_SOCKET;第三个参数的选项名称,要设置广播就填写SO_BROADCAST;第四个参数是指向指定请求选项值的缓冲区的指针,是给广播权限设置的数值,TRUE是设置广播权限,FALSE是取消广播权限;第五个参数是指向缓冲区的大小,也就是第四个参数的大小。
对客户端代码进行修改:

 

可以达到相同的效果。

编程小号
上一篇 2026-01-29 19:01
下一篇 2026-01-29 19:21

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/37708.html