当前位置: 首页 > news >正文

vi设计网站大全中国建设银行网站解绑手机

vi设计网站大全,中国建设银行网站解绑手机,网页制作工具哪个好,开个网络公司需要多少钱1、组播IP划分 224.0.0.0#xff5e;224.0.0.255 为预留的组播地址#xff08;永久组地址#xff09;#xff0c;地址224.0.0.0保留不做分配#xff0c;其它地址供路由协议使用#xff1b; 224.0.1.0#xff5e;224.0.1.255 是公用组播地址#xff0c;可以用于Inter…1、组播IP划分 224.0.0.0224.0.0.255 为预留的组播地址永久组地址地址224.0.0.0保留不做分配其它地址供路由协议使用 224.0.1.0224.0.1.255 是公用组播地址可以用于Internet欲使用需申请。 224.0.2.0238.255.255.255 为用户可用的组播地址临时组地址全网范围内有效 239.0.0.0239.255.255.255 为本地管理组播地址仅在特定的本地范围内有效。2、多播地址与 MAC 地址的映射 IPv4 的 D 类地址是多播地址。IEEE 把一块以太网多播组地址分给 IANA 以支持IP多播。块的地址都以01:00:5e 开头,第 25 位为 0,低 23 位为 IPv4 多播地址( D类地址 )的低 23 位。 IPv4 多播地址与 MAC 地址的映射关系如图所示 由于多播地址( D类地址 )中的最高 5bit 在映射过程中被忽略因此每个以太网多播地址对应的多播组是不唯一的。32 个不同的多播组号被映射为一个以太网地址。例如多播地址 224.128.64.32十六进制 e0.80.40.20和 224.0.64.32十六进制 e0.00.40.20都映射为同一以太网地址01:00:5e:00:40:20。 既然地址映射是不唯一的那么设备驱动程序或IP层就必须对数据报进行过滤。因为网卡可能接收到主机不想接收的多播数据帧如下图假如主机 1 加入的多播为 224.128.64.32主机 2 加入的多播为 224.0.64.32我们想给 224.0.64.32 所在的多播组 ( 主机 2 ) 发送信息数据经过网卡时224.128.64.32 (主机 1 ) 和 224.0.64.32 (主机 2 ) 所在多播组的网卡都会收到数据因为它们的 MAC 地址都是 01:00:5e:00:40:20。这时候如果网卡不提供足够的多播数据帧过滤功能设备驱动程序就必须接收所有多播数据帧然后对它们进行过滤这个过滤过程是网络驱动或IP层自动完成。 4、套接字选项 #include sys/types.h #include sys/socket.hint setsockopt(int sockfd, int level, int optname,const void *optval, socklen_t optlen); int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t*optlen); sockfd标识一个套接口的描述字。 level选项定义的层次支持SOL_SOCKET IPPROTO_TCP IPPROTO_IP IPPROTO_IPV6 optname需设置的选项。 optval指针指向存放选项待设置的新值的缓冲区。 optlenoptval缓冲区长度。  a、选项 IP_MULTICASE_TTL 允许设置超时TTL范围为0255之间的任何值例如 unsigned char ttl255; setsockopt(s,IPPROTO_IP,IP_MULTICAST_TTL,ttl,sizeof(ttl)); b、选项IP_MULTICAST_IF 用于设置组播的默认网络接口会从给定的网络接口发送另一个网络接口会忽略此数据。例如 struct in_addr {in_addr_t s_addr; } struct in_addr addr;  setsockopt(s,IPPROTO_IP,IP_MULTICAST_IF,addr,sizeof(addr)) c 、选项IP_MULTICAST_LOOP 用于控制数据是否回送到本地的回环接口。例如 unsigned char loop;  setsockopt(s,IPPROTO_IP,IP_MULTICAST_LOOP,loop,sizeof(loop)) 参数loop设置为0禁止回送设置为1允许回送 d、选项IP_ADD_MEMBERSHIP 加入某个广播组之后就可以向这个广播组发送数据或者从广播组接收数据。此选项的值为mreq结构成员imn_multiaddr是需要加入的广播组IP地址成员imr_interface是本机需要加入广播组的网络接口IP地址。例如 struct ip_mreq { struct in_addr imn_multiaddr; /*加入或者退出的广播组IP地址*/ struct in_addr imr_interface; /*加入或者退出的网络接口IP地址*/ }struct ip_mreq mreq; setsockopt(s,IPPROTO_IP,IP_ADD_MEMBERSHIP,mreq,sizeof(mreq)) e、选项IP_DROP_MEMBERSHIP 用于从一个广播组中退出。例如 struct ip_mreq mreq;  setsockopt(s,IPPROTP_IP,IP_DROP_MEMBERSHIP,mreq,sizeof(sreq)) 其中mreq包含了在IP_ADD_MEMBERSHIP中相同的值.   f、选项SO_REUSEADDR 是一个 socket 选项用于在关闭 TCP 连接后立即再次使用相同的地址和端口。如果不使用该选项那么一般情况下要等待一段时间TIME_WAIT才能再次使用相同的地址和端口。 int opt 1; setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (const void  *)opt, sizeof(opt)); g、选项SO_BINDTODEVICE 指定网卡去发送数据   struct ifreq {char ifr_name[IFNAMSIZ]; /* Interface name */union {struct sockaddrifr_addr;struct sockaddrifr_dstaddr;struct sockaddrifr_broadaddr;struct sockaddrifr_netmask;struct sockaddrifr_hwaddr;short ifr_flags;int ifr_ifindex;int ifr_metric;int ifr_mtu;struct ifmapifr_map;char ifr_slave[IFNAMSIZ];char ifr_newname[IFNAMSIZ];char *ifr_data;}; };struct ifreq interface; memset(interface,0,sizeof(interface)); strncpy(interface.ifr_ifrn.ifrn_name, “br0”, strlen(ifname)); setsockopt(fd , SOL_SOCKET, SO_BINDTODEVICE, (char *)interface, sizeof(interface)) 5、文件控制 #include fcntl.hint fcntl(int fd, int cmd);int curFlags fcntl(fd, F_GETFL, 0); fcntl(fd, F_SETFL, curFlags|O_NONBLOCK);设置非阻塞模式 6、接收示例 /* *broadcast_client.c - 多播的客户端 */ #define MCAST_PORT 8888; #define MCAST_ADDR 224.0.0.88 /*一个局部连接多播地址路由器不进行转发*/ #define MCAST_INTERVAL 5 /*发送间隔时间*/ #define BUFF_SIZE 256 /*接收缓冲区大小*/int main(int argc, char*argv[]) { int s; /*套接字文件描述符*/ struct sockaddr_in local_addr; /*本地地址*/ int err -1; s socket(AF_INET, SOCK_DGRAM, 0); /*建立套接字*/ if (s -1) { perror(socket()); return -1; } /*初始化地址*/ memset(local_addr, 0, sizeof(local_addr)); local_addr.sin_family AF_INET; local_addr.sin_addr.s_addr htonl(INADDR_ANY); local_addr.sin_port htons(MCAST_PORT); /*绑定socket*/ err bind(s,(struct sockaddr*)local_addr, sizeof(local_addr)) ; if(err 0) { perror(bind()); return -2; } /*设置回环许可*/ int loop 1; err setsockopt(s,IPPROTO_IP, IP_MULTICAST_LOOP,loop, sizeof(loop)); if(err 0) { perror(setsockopt():IP_MULTICAST_LOOP); return -3; } struct ip_mreq mreq; /*加入广播组*/ mreq.imr_multiaddr.s_addr inet_addr(MCAST_ADDR); /*广播地址*/ mreq.imr_interface.s_addr htonl(INADDR_ANY); /*网络接口为默认*/ /*将本机加入广播组*/ err setsockopt(s, IPPROTO_IP, IP_ADD_MEMBERSHIP,mreq, sizeof (mreq)); if (err 0) { perror(setsockopt():IP_ADD_MEMBERSHIP); return -4; } int times 0; int addr_len 0; char buff[BUFF_SIZE]; int n 0; /*循环接收广播组的消息5次后退出*/ for(times 0;times5;times) { addr_len sizeof(local_addr); memset(buff, 0, BUFF_SIZE); /*清空接收缓冲区*/ /*接收数据*/ n recvfrom(s, buff, BUFF_SIZE, 0,(struct sockaddr*)local_addr, addr_len); if( n -1) { perror(recvfrom()); } /*打印信息*/ printf(Recv %dst message from server:%s\n, times, buff); sleep(MCAST_INTERVAL); } /*退出广播组*/ err setsockopt(s, IPPROTO_IP, IP_DROP_MEMBERSHIP,mreq, sizeof (mreq)); close(s); return 0; } 7、发送示例 /*  *broadcast_server.c - 多播服务程序  */  #define MCAST_PORT 8888;  #define MCAST_ADDR 224.0.0.88/ /*一个局部连接多播地址路由器不进行转发*/  #define MCAST_DATA BROADCAST TEST DATA /*多播发送的数据*  #define MCAST_INTERVAL 5 /*发送间隔时间*/  int main(int argc, char*argv)  { int s; struct sockaddr_in mcast_addr; s socket(AF_INET, SOCK_DGRAM, 0); /*建立套接字*/ if (s -1) { perror(socket()); return -1; } memset(mcast_addr, 0, sizeof(mcast_addr));    /*初始化IP多播地址为0*/ mcast_addr.sin_family AF_INET;             /*设置协议族类行为AF*/ mcast_addr.sin_addr.s_addr inet_addr(MCAST_ADDR);/*设置多播IP地址*/ mcast_addr.sin_port htons(MCAST_PORT);             /*设置多播端口*/ /*向多播地址发送数据*/ while(1) { int n sendto(s,MCAST_DATA, sizeof(MCAST_DATA),0, (struct sockaddr*)mcast_addr, sizeof(mcast_addr)) ; if( n 0) { perror(sendto()); return -2; } sleep(MCAST_INTERVAL); /*等待一段时间*/ } return 0; }
http://www.zqtcl.cn/news/500619/

相关文章:

  • 网站策划的最终体现南宁网站建设培训学校
  • 网站不备案打不开怎么建网站不用买空间
  • 有没有IT做兼职的网站百度收录入口提交
  • 普洱市建设局网站重庆工程建设信息查询
  • 上海网站设计多少钱wap网站生成微信小程序
  • 广州网站到首页排名做图骂人的图片网站
  • 公司的网站建设价格wordpress付费阅读文章功能
  • 飞鸽网站建设建设网站什么软件比较好
  • 网站名称 规则网站seo完整seo优化方案
  • 昆明网站建设高端定制wordpress建站课程
  • 建网站外包wordpress 便利贴
  • 硅胶 技术支持 东莞网站建设网站互联网接入商
  • 太平洋建设21局网站微信网页版登录手机版
  • 站长统计芭乐鸭脖小猪电商平台哪个最好
  • 女与男爱做电影网站免费企业公司网站建设方案
  • 尚品本色木门网站是哪个公司做的大庆建设公司网站
  • 做网做网站建设的网站怎么用别人网站做模板
  • 电子商务网站购物车怎么做网站站点创建成功是什么意思
  • 如何做招聘网站的评估新浪微博可以做网站吗
  • 加强网站建设的制度wordpress如何清空
  • 轻松筹 的网站价格做网站建设意识形态
  • 有.net源码如何做网站湖南宣传片制作公司
  • dede网站模板怎么安装教程青岛需要做网站的公司
  • 静态双语企业网站后台源码北京网站关键词优化
  • 石家庄手机网站建设公司wordpress侧边栏显示子分类文字数
  • 公司网站客户案例个人做 网站2019
  • 个人网站怎么申请销售策划
  • 网站被黑 禁止js跳转企业为什么要建立集团
  • 建设网站的各种问题上海品牌女装排行榜前十名
  • seo优化搜索引擎网站优化推广网络关键词优化-乐之家网络科技商城网站备案能通过吗