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

大连网站设计团队泉州做网站seo

大连网站设计团队,泉州做网站seo,wordpress 后台管理风格主题,自己做的影视网站买会员违法吗一.组播 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.yayakq.cn/news/313403/

相关文章:

  • 做流程图用什么网站好哪个网站能在百度做推广
  • 网站开发用的开源系统北京南昌企业网站制作
  • 自学做网站一般要多久wordpress cas认证
  • 网站建设培训公司哪家好南昌外包建站
  • 网站seo优化推广怎么做企业信息网站模板
  • logo参考网站做h5的网站哪个好
  • 二手房交易网站开发源码南京户外广告公司排行榜
  • 在域名上建设网站黄骅市天气预报最新
  • 人物设计网站湛江企业自助建站
  • 抚顺网站设计烟台做网站建设电话
  • 渭南网站建设网站建设门户网站建设费
  • 做网站能挣多少钱移动互联网技术体系架构示意图
  • 网站建设虚线代码怎么制作个人门户网站
  • 一级做爰片a视频网站试看电子商城网站如何建设
  • 长沙网站建设有哪些渭南建设网站
  • 都兰县建设局交通局网站长沙网站建设方案
  • 网站被挂木马怎么办wordpress搭建漫画站
  • 微信_网站提成方案点做广州市住房和城乡建设局阳光家缘
  • 软件下载的网站做淘宝客一定要网站吗
  • 网站首页被挂黑链简易小程序制作
  • 网站开发语言选择怎么做网站海外推广
  • 山西营销网站建设那个公司好公司建设网站的步骤
  • 北京网站建设技术泉州全网营销
  • 站长之家音效酒泉网站怎么做seo
  • 为shopify做推广的网站沈阳信息工程学校中专
  • 衡阳市做淘宝网站建设做网站有个名字叫小廖
  • 做网站打电话怎么和客户说wordpress分类标题自定义
  • 动态电子商务网站 制作常德小程序开发公司
  • 成都网站建设兼职网络营销市场调研的内容
  • 成都市四方建设工程监理有限公司网站最新新闻十条