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

常德网站建设哪家权威办理培训机构需要具备的条件

常德网站建设哪家权威,办理培训机构需要具备的条件,如何做门户网站,商务网站模块设计时前台基础设施建设一.组播 1.概述 单播地址标识单个IP 接口,广播地址标识某个子网的所有IP 接口, 多播地址标识一组IP 接口。单播和广播是寻址方案的两个极端(要么单个要么全部), 多播则意在两者之间提供一种折中方案。多播数据报只应该由对它感兴趣的接口接收…

一.组播

1.概述

单播地址标识单个IP 接口,广播地址标识某个子网的所有IP 接口,
多播地址标识一组IP 接口。单播和广播是寻址方案的两个极端(要么单个要么全部),
多播则意在两者之间提供一种折中方案。多播数据报只应该由对它感兴趣的接口接收,
也就是说由运行相应多播会话应用系统的主机上的接口接收。
另外,广播一般局限于局域网内使用,而多播则既可以用于局域网,也可以跨广域网使用。

a.组播既可以用于局域网,也可以用于广域网
b.客户端需要加入多播组,才能接收到多的数据

2.api介绍

int setsockopt(int sockfd, int level, int opetname, const void *optval, socklen_t optlen)服务器设置多播的信息,外出接口-level : IPPROTO_IP- optname : IP_MULTICAS_IF- optval : struct in_addr客户端加入到多播组-level : IPPROTO_IP-optname : IP_ADD_MEMBERSHIP-optval : struct mreqn

3.服务端和客户端代码实现

3.1.serer

#include <stdio.h>
#include <arpa/inet.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>int main()
{int udp_sockfd = socket(AF_INET,SOCK_DGRAM,0);if(udp_sockfd == -1){perror("socket");exit(-1);}//设置多播的属性,设置外出接口struct in_addr imr_multiaddr;inet_pton(AF_INET,"239.0.0.10",&imr_multiaddr.s_addr);setsockopt(udp_sockfd,IPPROTO_IP,IP_MULTICAST_IF,&imr_multiaddr,sizeof(imr_multiaddr));//创建客户端的地址信息struct sockaddr_in server;server.sin_family = AF_INET;server.sin_addr.s_addr = inet_addr("239.0.0.10"); //广播地址server.sin_port = htons(8000);int num = 0;while(1){char sendBuf[128];sprintf(sendBuf,"hello,client-----%d\n",num++);//发送数据sendto(udp_sockfd,sendBuf,strlen(sendBuf)+1,0,(const struct sockaddr*)&server,sizeof(server));printf("组播数据:%s\n",sendBuf);sleep(1);}close(udp_sockfd);return 0;
}

3.2.client

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <arpa/inet.h>int main() {// 1.创建一个通信的socketint fd = socket(PF_INET, SOCK_DGRAM, 0);if(fd == -1) {perror("socket");exit(-1);}   struct in_addr in;// 2.客户端绑定本地的IP和端口struct sockaddr_in addr;addr.sin_family = AF_INET;addr.sin_port = htons(9999);addr.sin_addr.s_addr = INADDR_ANY;int ret = bind(fd, (struct sockaddr *)&addr, sizeof(addr));if(ret == -1) {perror("bind");exit(-1);}struct ip_mreq op;inet_pton(AF_INET, "239.0.0.10", &op.imr_multiaddr.s_addr);op.imr_interface.s_addr = INADDR_ANY;// 加入到多播组setsockopt(fd, IPPROTO_IP, IP_ADD_MEMBERSHIP, &op, sizeof(op));// 3.通信while(1) {char buf[128];// 接收数据int num = recvfrom(fd, buf, sizeof(buf), 0, NULL, NULL);printf("server say : %s\n", buf);}close(fd);return 0;
}

二.广播

1.概述

向子网中多台计算机发送消息,并且子网中所有的计算机都可以接收到发送方发送的消息,
每个广播消息都包含一个特殊的IP地址,这个P中子网内主机标志部分的二进制全部为1。

a.只能在局域网中使用
b.客户端需要绑定服务器广播使用的端口,才可以接收到广播消息

 2.api介绍

//设置广播属性的函数
int setsockopt(int sockfd, int level, int opetname, const void *optval, socklen_t optlen)-sockfd : 文件描述符-level : SOL_SOCKET-optname : SO_BROADCAST-optval : int 类型的值,为1表示允许广播-optlen : optval的大小

3.服务端和客户端代码实现

3.1 server

#include <stdio.h>
#include <arpa/inet.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>int main()
{int udp_sockfd = socket(AF_INET,SOCK_DGRAM,0);if(udp_sockfd == -1){perror("socket");exit(-1);}//设置广播int opt = 1;setsockopt(udp_sockfd,SOL_SOCKET,SO_BROADCAST,(const void*)&opt,sizeof(opt));//创建一个广播的地址struct sockaddr_in server;server.sin_family = AF_INET;server.sin_addr.s_addr = inet_addr("192.168.26.255"); //广播地址server.sin_port = htons(8000);int num = 0;while(1){char sendBuf[128];sprintf(sendBuf,"hello,client-----%d\n",num++);//发送数据sendto(udp_sockfd,sendBuf,strlen(sendBuf)+1,0,(const struct sockaddr*)&server,sizeof(server));printf("广播数据:%s\n",sendBuf);sleep(1);}close(udp_sockfd);return 0;
}

3.2 client

#include <stdio.h>
#include <arpa/inet.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>int main()
{int udp_sockfd = socket(AF_INET,SOCK_DGRAM,0);if(udp_sockfd == -1){perror("socket");exit(-1);}//创建一个广播的地址struct sockaddr_in server;server.sin_family = AF_INET;server.sin_addr.s_addr = INADDR_ANY; server.sin_port = htons(8000);if(bind(udp_sockfd,(const struct sockaddr*)&server,sizeof(server)) == -1){perror("bind");exit(-1);}char buf[128];while(1){int num = recvfrom(udp_sockfd,buf,sizeof(buf),0,NULL,NULL);printf("server say: %s\n",buf);}close(udp_sockfd);return 0;
}

http://www.hkea.cn/news/104482/

相关文章:

  • 校园网站推广方案怎么做网站排名推广工具
  • 深圳罗湖企业网站建设报价网络媒体发稿平台
  • 用别人公司域名做网站线下推广的渠道和方法
  • php mysql的网站开发外贸推广平台
  • 济南网站建设认可搜点网络能百度指数有三个功能模块
  • 网上商城网站建设意义在线代理浏览网页
  • 网站图片切换代码百度下载并安装最新版
  • 微信公众平台号申请注册入口杭州seo公司
  • 本周实时热点新闻事件seo文章代写一篇多少钱
  • 旺店通app手机企业版下载网站seo如何优化
  • 宝山区建设用地事务所网站网络公司有哪些
  • 用sql做简单的博客网站大连谷歌seo
  • 新手怎么学做网站就业培训机构有哪些
  • magento网站建设搭建网站步骤
  • 营销网站如何实现差异化南京seo公司
  • 服务器托管是啥搜索引擎优化排名培训
  • 山西手机网站建设网址大全123
  • b2c平台有哪些平台网址新区seo整站优化公司
  • WordPress突然全站404网站如何添加友情链接
  • 复制别人网站做第一站seo短视频网页入口引流下载
  • 基层建设论文收录在哪个网站百度统计api
  • 购买主机可以做网站吗楚雄今日头条新闻
  • 深圳专业网站建设公司哪家好宁波网络营销公司
  • ps做电商网站流程图百度图片识别搜索引擎
  • 做电影网站程序好用武汉网站建设推广公司
  • 如何做b2c网站下列关于友情链接说法正确的是
  • 网站开发中网页上传seo在线网站推广
  • 网站建设报价流程免费培训网站
  • 聊城网站建设服务好最新网域查询入口
  • 一般网站建设流程有哪些步骤官方百度app下载安装