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

手机网站优化 工具装饰网站建设的方案

手机网站优化 工具,装饰网站建设的方案,家具网站源码,邢台哪里做网站目录 1 广播 1.1 什么是广播#xff1f; 1.2 广播地址 1.3 广播的实现 2 组播 2.1 分类的IP地址 2.2 多播 IP 地址 2.3 组播的实现 1 广播 1.1 什么是广播#xff1f; 数据包发送方式只有一个接受方#xff0c;称为单播 如果同时发给局域网中的所有主机#xff0…目录 1 广播 1.1 什么是广播 1.2 广播地址 1.3 广播的实现 2 组播 2.1 分类的IP地址 2.2 多播 IP 地址 2.3 组播的实现 1 广播 1.1 什么是广播 数据包发送方式只有一个接受方称为单播 如果同时发给局域网中的所有主机称为广播 只有用户数据报(使用UDP协议)套接字才能广播 1.2 广播地址 一个网络内主机号全为1的IP地址为广播地址发到该地址的数据包被所有的主机接收255.255.255.255在所有网段中都代表广播地址 1.3 广播的实现 广播的实现 sender.c #include stdio.h #include sys/socket.h #include netinet/in.h #include netinet/ip.h /* superset of previous */ #include unistd.h #include stdlib.h #include arpa/inet.h #include strings.h #include string.h#define ErrExit(msg) do {perror(msg); exit(EXIT_FAILURE);} while(0) typedef struct sockaddr Addr; typedef struct sockaddr_in Addr_in;int main(int argc, char *argv[]) {int fd -1;Addr_in peeraddr;socklen_t peerlen sizeof(peeraddr);char buf[BUFSIZ] {};/*参数检查*/if(argc 3){fprintf(stderr, %smultiaddrport, argv[0]);exit(EXIT_FAILURE);}/*创建套接字*/if( (fd socket(AF_INET, SOCK_DGRAM, 0) ) 0)ErrExit(socket);/*允许广播*/int on 1;setsockopt(fd, SOL_SOCKET, SO_BROADCAST, on, sizeof(on));/*设置通信结构体*/peeraddr.sin_family AF_INET;peeraddr.sin_port htons(atoi(argv[2]));if(!inet_aton(argv[1], peeraddr.sin_addr) ){fprintf(stderr, Invalid address\n);exit(EXIT_FAILURE);}while(1){fgets(buf, BUFSIZ, stdin);sendto(fd, buf, strlen(buf)1, 0, (Addr *)peeraddr, peerlen);}return 0; }receiver.c #include stdio.h #include sys/socket.h #include netinet/in.h #include netinet/ip.h /* superset of previous */ #include unistd.h #include stdlib.h #include arpa/inet.h #include strings.h#define ErrExit(msg) do {perror(msg); exit(EXIT_FAILURE);} while(0) typedef struct sockaddr Addr; typedef struct sockaddr_in Addr_in;int main(int argc, char *argv[]) {int fd -1;Addr_in myaddr, peeraddr;socklen_t peerlen sizeof(peeraddr);char buf[BUFSIZ] {};/*参数检查*/if(argc 3){fprintf(stderr, %saddrport, argv[0]);exit(EXIT_FAILURE);}/*创建套接字*/if( (fd socket(AF_INET, SOCK_DGRAM, 0) ) 0)ErrExit(socket);/*设置通信结构体*/myaddr.sin_family AF_INET;myaddr.sin_port htons(atoi(argv[2]));if(!inet_aton(argv[1], myaddr.sin_addr) ){fprintf(stderr, Invalid address\n);exit(EXIT_FAILURE);}/*绑定通信结构体*/if( bind(fd, (Addr *)myaddr, sizeof(Addr_in)) )ErrExit(bind);while(1){recvfrom(fd, buf, BUFSIZ, 0, (Addr *)peeraddr, peerlen);printf([%s:%d]%s\n, inet_ntoa(peeraddr.sin_addr), ntohs(peeraddr.sin_port), buf);}return 0; }2 组播 2.1 分类的IP地址 2.2 多播 IP 地址 在 IP 多播数据报的目的地址需要写入多播组的标识符。多播组的标识符就是 IP 地址中的 D 类地址多播地址。地址范围224.0.0.0 ~ 239.255.255.255每一个 D 类地址标志一个多播组。多播地址只能用于目的地址不能用于源地址。 2.3 组播的实现 创建用户数据报套接字加入多播组绑定组播IP地址和端口等待接收数据 struct ip_mreqn {struct in_addr imr_multiaddr; /*IP 组播组地址*/struct in_addr imr_address; /*本地接口的IP地址*/int imr_ifindex; /*本地网卡的编号*/ } if(setsockopt(fd, IPPROTO_IP, IP_ADD_MEMBERSHIP, mreq, sizeof(mreq)) 0){ perror(setsockopt); exit(0); }sender.c #include stdio.h #include sys/socket.h #include netinet/in.h #include netinet/ip.h /* superset of previous */ #include unistd.h #include stdlib.h #include arpa/inet.h #include strings.h #include string.h#define ErrExit(msg) do {perror(msg); exit(EXIT_FAILURE);} while(0) typedef struct sockaddr Addr; typedef struct sockaddr_in Addr_in;int main(int argc, char *argv[]) {int fd -1;Addr_in peeraddr;socklen_t peerlen sizeof(peeraddr);char buf[BUFSIZ] {};/*参数检查*/if(argc 3){fprintf(stderr, %smultiaddrport, argv[0]);exit(EXIT_FAILURE);}/*创建套接字*/if( (fd socket(AF_INET, SOCK_DGRAM, 0) ) 0)ErrExit(socket);/*设置通信结构体*/peeraddr.sin_family AF_INET;peeraddr.sin_port htons(atoi(argv[2]));if(!inet_aton(argv[1], peeraddr.sin_addr) ){fprintf(stderr, Invalid address\n);exit(EXIT_FAILURE);}while(1){fgets(buf, BUFSIZ, stdin);sendto(fd, buf, strlen(buf)1, 0, (Addr *)peeraddr, peerlen);}return 0; }receiver.c #include stdio.h #include sys/socket.h #include netinet/in.h #include netinet/ip.h /* superset of previous */ #include unistd.h #include stdlib.h #include arpa/inet.h #include strings.h#define ErrExit(msg) do {perror(msg); exit(EXIT_FAILURE);} while(0) typedef struct sockaddr Addr; typedef struct sockaddr_in Addr_in;int main(int argc, char *argv[]) {int fd -1;Addr_in myaddr, peeraddr;socklen_t peerlen sizeof(peeraddr);struct ip_mreqn mreq;char buf[BUFSIZ] {};/*参数检查*/if(argc 3){fprintf(stderr, %saddrport, argv[0]);exit(EXIT_FAILURE);}/*创建套接字*/if( (fd socket(AF_INET, SOCK_DGRAM, 0) ) 0)ErrExit(socket);/*加入多播组*/bzero(mreq, sizeof(mreq) );if(!inet_aton(argv[1], mreq.imr_multiaddr) ){fprintf(stderr, Invalid address\n);exit(EXIT_FAILURE);}if(setsockopt(fd, IPPROTO_IP, IP_ADD_MEMBERSHIP, mreq, sizeof(mreq)) 0){perror(setsockopt);exit(0);}/*设置通信结构体*/myaddr.sin_family AF_INET;myaddr.sin_port htons(atoi(argv[2]));if(!inet_aton(argv[1], myaddr.sin_addr) ){fprintf(stderr, Invalid address\n);exit(EXIT_FAILURE);}/*绑定通信结构体*/if( bind(fd, (Addr *)myaddr, sizeof(Addr_in)) )ErrExit(bind);while(1){recvfrom(fd, buf, BUFSIZ, 0, (Addr *)peeraddr, peerlen);printf([%s:%d]%s\n, inet_ntoa(peeraddr.sin_addr), ntohs(peeraddr.sin_port), buf);}return 0; }
http://www.dnsts.com.cn/news/279780.html

相关文章:

  • 深圳企业网站建设专业广告设计网站都有哪些
  • 做刀模线网站唐山做网站公司费用
  • 网站设计与制作包括代做网站毕业设计
  • 青岛网站建设方案维护中小企业网站建设如何
  • 网站开发的调研沈阳做网站哪家最便宜
  • 网站建设的总体需求是什么保定做网站百度推广
  • 网站开发公司tahmwlkj虹口专业网站建设
  • 网站域名变更怎么查wordpress添加分享
  • 网站服务器++免费做优化排名会不会影响网站速度
  • 邹城网站制作网站开发 ip6
  • 广州市官网网站建设报价网络优化工程师是干嘛的
  • 嘉兴住房和城乡建设厅网站asp.net 网站 结构
  • app音乐网站开发东莞市网络公司
  • 网页制作的网站水产网站源码
  • 电子商务网站开发系统织梦后台怎么加自己做的网站
  • 深圳wordpress外贸网站建设网站系统类型
  • 网站排名优化提升快速昆山做网站怎么做
  • 新艾尚网站建设推广网上做外贸都有哪些网站
  • 做网站工商局要不要备案呢徐州百度运营中心
  • 做一个网站需要多少人网上整合营销
  • 广东建设工程造价管理协会网站wordpress 分类下怎么调用带有缩略图的文章?
  • 杭州做电商网站如何在线实现手机版网站建设
  • 天津到天津天津网站开发杭州协会网站建设
  • 手机html5网站模板南宁手机做网站设计
  • 网站建设费用明细报价全自动三次元网站建设
  • 龙岗网站维护用什么做asp网站
  • 网站方案讲解技巧教师遭网课入侵直播录屏曝光口
  • 为什么我的电脑有些网站打不开一家专门做特产的网站
  • 济源城乡建设局网站软件设计师证书含金量
  • 网站的链接建设新浪微博关联wordpress