广播地址。
专门用于同时向网络中(通常指同一子网)所有工作站进行发送的一个地址。在使用TCP/IP 协议的网络中,主机标识段host ID(简称主机 ID) 为全 1 的 IP 地址为广播地址,广播的分组传送给同一个子网的所有计算机。
例如:
对于10.1.1.0 (255.255.255.0 )网段,其广播地址为10.1.1.255 (255 即为 2 进制的 11111111 ),当发出一个目的地址为10.1.1.255 的数据包时,它将被分发给该网段上的所有计算机。广播地址应用于网络内的所有主机。
扩展资料:分类
1、受限广播
路由器不会转发受限广播的数据包,但同一个子网的所有主机都会接收到受限广播的数据包。
IP 地址的网络字段和主机字段全为 1 就是受限广播地址255.255.255.255。
2、直接广播(也叫定向广播)
直接广播可以被路由转发,发送到目标网络的所有主机,如:ip地址为 192.168.2.1 的主机也可以发送广播到192.168.1.0这个网络。当然不是所有的路由器,傻瓜式路由器是默认阻止直接广播的。
IP 地址的网络字段定义这个网络,主机字段通常全为 1,如192.168.10.0/24 的直接广播(定向广播)地址为:192.168.10.255。
下面还是先看一下代码 基本和网上搜到的一样初始化static struct sockaddr_in remote_addr//远程地址static struct sockaddr_in local_addr//若本地要帮定端口要用memset(&remote_addr,0,sizeof(remote_addr))remote_addr.sin_family = AF_INETremote_addr.sin_addr.s_addr = inet_addr("225.100.1.6")//广播地址remote_addr.sin_port = htons(6789)//目的端口memset(&local_addr,0,sizeof(local_addr))local_addr.sin_family = AF_INETlocal_addr.sin_addr.s_addr =htonl(INADDR_ANY)local_addr.sin_port = htons(4321)//本地发送端口4321if( (sockfd=socket(AF_INET,SOCK_DGRAM,0))<0 ){BROADCAST_PRINT(( "can't open datagram socket rtn=%d\n", sockfd))}else{bind(sockfd,(struct sockaddr *)&local_addr,sizeof(local_addr) )1。仅仅凭上面代码发送返回肯定要失败的,应为还没有添加分组广播的路由在linux命令行中运行 route add -net 224.0.0.0 netmask 224.0.0.0 dev eth02。还有就是看到一些人提到本地发送端口绑定的问题欢迎分享,转载请注明来源:内存溢出
评论列表(0条)