2025年udp局域网广播(udp 广播地址)

udp局域网广播(udp 广播地址)h4 h4 目录 一 IP 地址简介 二 广播的实现原理 三 广播的 Server 代码实现 ul li 1 setsockopt 给 socketfd 开放广播权限 li li 2 指定发送给 Client 的端口 li li ul lt ul li ul

大家好,我是讯享网,很高兴认识大家。



 <h4></h4> 

讯享网

目录

    • 一.IP地址简介
    • 二.广播的实现原理
    • 三.广播的Server代码实现
    • 讯享网<ul><li>1.setsockopt&#xff1a;给socketfd开放广播权限</li><li>2.指定发送给Client的端口</li><li> <ul><li>说明&#xff1a;UDP广播的Server端为什么要指定Client的端口</li><li>具体实现</li></ul></li></ul></li><li>四.UDP之广播C/S模型</li><li>五.UDP之广播C/S模型代码</li><li> <ul><li>Server</li><li>Client</li></ul></li></ul></li></ul> 

      广播使用的特殊的IP地址:最后一位是255时的IP地址是给广播预留的IP地址,如:192.168.88.255

      在这里插入图片描述
      讯享网

      1.setsockopt:给socketfd开放广播权限

      int setsockopt(int sockfd, int level, int optname,const void optval, socklen_t optlen);

       

      2.指定发送给Client的端口

      说明:UDP广播的Server端为什么要指定Client的端口

      1. 在TCP连接时,Server的端口号指定的,Client连接服务器需要指定Server的端口号(并且Client的端口号是随机获取的)
      2. 而在UDP传输数据时,端口号的设定却刚好与TCP连接时相反。为什么呢?
        答:Server要发送数据给Client,而每个Client上有很多应用程序(但是并不是每个应用程序都需要接收到Server广播来的消息)。
        因此Server端在发送消息时需要指定发送给Client的端口号。
      3. Server的端口需要设定么?
        答:不需要,Server只是需要进行广播出去数据,不进行数据的接收—&gt;因此Server的端口号可以随机获取。

      具体实现

      讯享网

      3.sendto发送消息给绑定的端口
      int ret=sendto(sock, smsg, strlen(smsg), 0, (sockaddr
      )&addrto, nlen);

      在这里插入图片描述

      Server

       

      Client

      讯享网

      (59条消息) UDP之广播_JaweG-CSDN博客_udp广播

小讯
上一篇 2025-05-01 08:57
下一篇 2025-06-17 13:34

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/151087.html