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

查看企业信息的网站wordpress溢价

查看企业信息的网站,wordpress溢价,注册公司网上申请流程,网站在线目录 1. 多播 1.1 多播的使用情形 1.2 多播的原理 1.3 如何实现多播 1.4 多播的代码实现 2. 广播 2.1 广播与多播的区别 2.2 广播的分类 2.3 实现广播 1. 多播 1.1 多播的使用情形 考虑一种情形#xff0c;你要向10000名用户发送数据#xff0c;此时如果用TCP提供服…目录 1. 多播 1.1 多播的使用情形 1.2 多播的原理 1.3 如何实现多播 1.4 多播的代码实现 2. 广播 2.1 广播与多播的区别 2.2 广播的分类 2.3 实现广播 1. 多播 1.1 多播的使用情形 考虑一种情形你要向10000名用户发送数据此时如果用TCP提供服务则需要维护10000个套接字连接如果用UDP提供服务则也需要进行10000次数据传输。像这样在这总情况下就可以使用多播技术来解决问题。所以一般多播常用于多媒体数据的实时传输。 1.2 多播的原理 多播是基于UDP协议传输的。但又与UDP有一些不同不同之处在于UDP数据传输是以单一目标进行的而多播则会将数据同时传递到加入(注册)多播组的大量主机。 其中多播组是一种D类IP地址(224.0.0.0~239.255.255.255)加入多播组可以理解为在D类IP地址中我希望接收发往目标239.255.255.255的多播数据。 其原理如图 多播数据包的格式与UDP数据包相同但多播数据包在传输过程中时路由器会复制该多播数据包并传递到多个主机。由此主机只需要发送一次数据包多个主机就能接受到而无需一个数据包发多次。不像UDP或TCPn个主机要接受数据包就得传输n次。 1.3 如何实现多播 实现多播需要 1.传递数据包的主机需要设置TTL(Time to Live生存时间)TTL是决定数据包传送距离的主要因素TTL用整数表示每经过一个路由器就减1直到TTL变为0时数据包就无法再传输只能销毁。因此TTL的值设置过大会影响网络流量但过小就无法传递到目标。 2.接收数据包的主机需要加入多播组。 上述两个条件的设置用套接字可选项来完成。 条件协议层可选项设置TTLIPPROTO_IPIP_MULTICAST_TTL加入多播组IPPROTO_IPIP_ADD_MEMBERSHIP 1.4 多播的代码实现 设置TTL int time_to_live64; setsockopt(senderfd,IPPROTO_IP,IP_MULTICAST_TTL,(void*)time_to_live,sizeof(time_to_live); 加入多播组: ip_mreq join_adr; join_adr.imr_multiaddrinet_addr(要加入的多播组IP地址); join_adr.imr_interfacehtonl(加入该组的套接字所属主机的IP地址);setsockopt(recvfd,IPPROTO_IP,IP_ADD_MEMBERSHIP,(void*)join_adr,sizeof(join_adr)); struct ip_mreq {struct in_addr imr_multiaddr; //要加入的多播组IP地址struct in_addr imr_interface; //加入该组套接字所属主机IP } 其中imr_interface可以用INADDR_ANY。 Sender #includeiostream #includecstring #includesys/socket.h #includeunistd.h #includearpa/inet.hint main() {int senderfdsocket(PF_INET,SOCK_DGRAM,IPPROTO_UDP);if(senderfd-1){std::coutsocket fail!std::endl;}int ttl64;int ressetsockopt(senderfd,IPPROTO_IP,IP_MULTICAST_TTL,(void*)ttl,sizeof(ttl));if(res-1){std::coutsetsockopt fail!std::endl;}std::string strIp;std::cout请输入要发往的多播IP地址:;std::cinstrIp;sockaddr_in senderAddr;senderAddr.sin_familyAF_INET;senderAddr.sin_addr.s_addrinet_addr(strIp.c_str());senderAddr.sin_porthtons(9130);std::cout请输入你要发送的内容:;char buff[1024];std::cinbuff;int sendLen;sendto(senderfd,buff,sizeof(buff),0,(sockaddr*)senderAddr,sizeof(senderAddr));close(senderfd);return 0; } Recv #includeiostream #includecstring #includesys/socket.h #includeunistd.h #includearpa/inet.hint main() {int recvSocket socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);if (recvSocket -1){std::cout socket fail! std::endl;}sockaddr_in recvAddr;recvAddr.sin_family AF_INET;recvAddr.sin_addr.s_addr htonl(INADDR_ANY);recvAddr.sin_port htons(9130);if (-1 bind(recvSocket, (sockaddr*)recvAddr, sizeof(recvAddr))){std::cout bind fail! std::endl;}std::string strIp;std::cout 请输入要加入的多播IP地址:;std::cin strIp;ip_mreq join_adr;join_adr.imr_multiaddr.s_addr inet_addr(strIp.c_str());join_adr.imr_interface.s_addr htonl(INADDR_ANY);int ressetsockopt(recvSocket, IPPROTO_IP, IP_ADD_MEMBERSHIP, (void*)join_adr, sizeof(join_adr));if (res -1){std::cout setsockopt fail! std::endl;}char buff[1024];recvfrom(recvSocket, buff, sizeof(buff), 0, NULL, 0); //因为此套接字是已连接UDP套接字所以无需再进行绑定std::cout 接收到的多播信息: buff std::endl;close(recvSocket);return 0; }运行结果 Sender Recv 注意 1.发送方和接收方的端口号要一致。 2.在这里接收方要先于发送方运行因为多播属于广播的范畴如果接收方延后则会接收不到信息。 3.Windows里设置TTL需要加上头文件#includews2tcpip.h因为IP_MULTICAST_TTL声明在这个头文件里。 2. 广播 2.1 广播与多播的区别 广播与多播的唯一区别是广播只能向同一网络中的主机传输数据而多播是可以跨越不同网络只要加入多播组就能接收到数据的。 2.2 广播的分类 广播分为直接广播、本地广播。 两者之间的差别主要是在于IP地址。 直接广播的IP地址除了网络地址外其余主机地址全部设置为1,。例如希望向网络地址为192.12.32中的所有主机传输数据则可以向192.12.32.255传输。换言之直接广播就是可以向特定区域内所有主机传输数据。 本地广播的IP地址限定为255.255.255.255。例如位于192.32.24网络中的主机向255.255.255.255传递数据时数据将传递到这个网路中的所有主机上。换言之本地广播就是只能向本地网络区域内所有主机传输数据。 2.3 实现广播 广播的实现需要 协议层套接字可选项值SOL_SOCKETSO_BROADCAST0【关闭】/1【开启】 int bcast1; setsockopt(send_sock,SOL_SOCKET,SO_BROADCAST,(void*)bcast,sizeof(bcast)); 广播的代码实现和多播没有什么区别只需要把上述代码里套接字可选项改为SO_BROADCAST即可然后在运行时输入指定的IP地址直接广播输入xxx.xxx.xxx.255本地广播输入255.255.255.255即可。
http://www.hkea.cn/news/14331414/

相关文章:

  • 企业网站的首页设计模板php网站授权
  • 搜索引擎下载入口seo网站推广如何做
  • 成都都江堰网站建设唐山seo公司
  • 专门查建设项目的网站微信公众号微网站建设
  • 湛江企业网站建设代刷网站推广全网最便宜
  • 工业互联网平台排名企业网站优化哪家好
  • 重庆网站建设制作设计公司郑州国外网站建设
  • 做企业网站用服务器十堰市网站建设
  • 毕业设计网站开发的中期报告wordpress 二维码插件下载地址
  • 用网站做简历模板中国做的最好的网站
  • 查企业资质上什么网站营销的主要目的有哪些
  • c2c电子商务网站的功能做动态logo网站
  • 主流网站编程语言wordpress删除导入xml
  • 知乎 阿里云 wordpress北京seo招聘
  • 如何对网站建设和维护vps 需刷新几次才能打开网站
  • 智能建站模板外贸网站 开源
  • 论坛网站免费建设模板下载安装大学学科建设网站
  • 手机网站定制 杭州平度市城乡建设局网站
  • 少部分网站ie打不开这些网站域名ping不通用axuer 做网站产品原型
  • 30天网站建设实录wordpress加中文
  • 服装定制网站模板中文单页面网站模板免费下载
  • oa办公系统网站开发淘点金 wordpress
  • 网站建设目的意义无锡市住房与城乡建设网站
  • 网站平台设计费用wordpress文章id排列
  • 用电脑做网站的历史在哪里找南宁网站建设公司seo优化
  • 营销网站建设专家江苏五星建设集团有限公司网站
  • 官方网站如何建设网上怎么卖东西
  • 自己如何做网站建设网站建设文化效果
  • 网站数据库安装教程中国纪检监察报记者电话
  • 网站pc端和手机端分离怎么做泰安市人才交流服务中心