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

网站建设软件设计爱情链接

网站建设软件设计,爱情链接,北京企业网站建设哪家好,微企帮做网站组播:过多的广播会占用网络带宽,产生广播风暴的现象,从而影响正常的通信活动;组播(或者多播)是局域网内部的通信,只有加入到某个多播组的主机才能收到数据;组播的方式既可以发给多个…
  • 组播:
  • 过多的广播会占用网络带宽,产生广播风暴的现象,从而影响正常的通信活动;
  • 组播(或者多播)是局域网内部的通信,只有加入到某个多播组的主机才能收到数据;
  • 组播的方式既可以发给多个主机,又能避免广播带来过多的网络负载;
  • 组播地址:D类地址:“224.0.0.1~239.255.255.254”;
  • 设置组播的流程:
  • 发送方(UDP的客户端):
  • 一、创建用户数据报套接字(socket函数):
	int sockfd = socket(AF_INET,SOCK_DGRAM,0);if(-1 == sockfd){perror("socket error");exit(-1);}
  • 二、填充组播信息结构体( struct sockaddr_in):
	struct sockaddr_in serveraddr;socklen_t serveraddr_len = sizeof(serveraddr);memset(&serveraddr,0,serveraddr_len);serveraddr.sin_family = AF_INET;serveraddr.sin_addr.s_addr = inet_addr(M_IP);serveraddr.sin_port = htons(PORT);
  • 三、发送组播信息(sendto函数):
	char buf[128] = {0};while(true){memset(buf,0,sizeof(buf));fgets(buf,128,stdin);buf[strlen(buf)-1] = '\0';if(!strncmp(buf,"quit",4)){break;}//给服务器发送数据if(-1 == (sendto(sockfd,buf,sizeof(buf),0,(struct sockaddr*)&serveraddr,serveraddr_len))){perror("sendto error");exit(-1);}}
  • 四、关闭用户数据报套接字(close函数):
 	close(sockfd);
  • 接收方(UDP的服务器):
  • 一、创建用户数据报套接字(socket函数):
	int sockfd = socket(AF_INET,SOCK_DGRAM,0);if(-1 == sockfd){perror("socket error");exit(-1);}
  • 二、填充组播信息结构体(struct sockaddr_in):
	struct sockaddr_in serveraddr,clientaddr;socklen_t serveraddr_len = sizeof(serveraddr);socklen_t clientaddr_len = sizeof(clientaddr);memset(&serveraddr,0,serveraddr_len);serveraddr.sin_family = AF_INET;serveraddr.sin_addr.s_addr = inet_addr(M_IP);serveraddr.sin_port = htons(PORT);
  • 三、用户数据报套接字和广播信息结构体绑定(bind函数):
	if(-1 == (bind(sockfd,(struct sockaddr *)&serveraddr,serveraddr_len))){perror("bind error");exit(-1);}
  • 四、设置加入多播组(setsockopt函数):
	struct ip_mreqn {struct in_addr imr_multiaddr; struct in_addr imr_address;   int            imr_ifindex;   };struct ip_mreqn multi_group;multi_group.imr_address.s_addr = INADDR_ANY;multi_group.imr_multiaddr.s_addr = inet_addr(M_IP);multi_group.imr_ifindex = 0;if(-1 == (setsockopt(sockfd,IPPROTO_IP,IP_ADD_MEMBERSHIP,&multi_group,sizeof(multi_group)))){perror("setsockopt error");exit(-1);}
  • 五、接收组播信息(recvfrom函数):
	char buf[128] = {0};while(true){memset(buf,0,sizeof(buf));if(-1 == recvfrom(sockfd,buf,sizeof(buf),0,(struct sockaddr *)&clientaddr,&clientaddr_len)){perror("recvfrom error");exit(-1);}printf("客户端[%s:%d]发来数据[%s]\n",inet_ntoa(clientaddr.sin_addr),ntohs(clientaddr.sin_port),buf);}
  • 六、关闭用户数据报套接字(close函数):
 	close(sockfd);
http://www.yidumall.com/news/94604.html

相关文章:

  • 建网站平台要多少钱谷歌搜索引擎入口google
  • 制作网站需要怎么做的东莞网站推广排名
  • 建网站相关知识南宁seo手段
  • 徐州市水利工程建设有限公司网站北京seo公司哪家好
  • 滨州做网站建设的公司做小程序要多少钱
  • 上国外网站dns各大网站提交入口网址
  • 能够做代理的网站有哪些问题app拉新任务平台
  • 网站后台修改站内搜索工具
  • 做网站公司排名郑州seo方案
  • 现在什么视频网站做的最好爱站网使用体验
  • 树莓派可以做网站的服务器吗产品推广平台有哪些
  • 专业外贸网站爱站长尾关键词挖掘工具
  • 头像制作软件appseo外包顾问
  • 顺德高端网站建设公司网站域名怎么注册
  • 做外贸网站多少钱常见的营销策略有哪些
  • 网站怎么做二级域名企业网站源码
  • 成都网站建设培训chrome google
  • 网站空间登陆百度投诉中心24人工客服电话
  • 公司黄页网百度seo关键词排名s
  • wordpress 插件安装seo推广话术
  • 制作视频网站开发广州网站优化服务商
  • 二手房地产中介网站建设中文域名
  • 乡镇门户网站建设的现状及发展对策好的seo公司营销网
  • 网站设计公司 广州排行榜前十名
  • 网站制作验收单北京seo技术交流
  • 做网站时如何建立栅格网站关键字优化软件
  • 传媒公司招聘信息广州seo站内优化
  • 有什么做任务的网站嵌入式培训机构哪家好
  • 上海医院设计网站建设广州营销优化
  • 旅游网站开发哪家好知乎小说推广对接平台