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

凡科网的网站建设怎么做什么是seo如何进行seo

凡科网的网站建设怎么做,什么是seo如何进行seo,可以做直播的游戏视频网站,java工程师证书在哪考1.广播 发送端&#xff08;类似于客户端&#xff09; 流程&#xff1a; 创建套接字 填充接收端&#xff08;服务器&#xff09;网络信息结构体 bind(非必须绑定) 设置允许广播 向接收端&#xff08;服务器&#xff09;发送数据 关闭套接字文件 #include <stdio.h> #in…

1.广播

发送端(类似于客户端)

流程:
创建套接字
填充接收端(服务器)网络信息结构体
bind(非必须绑定)
设置允许广播
向接收端(服务器)发送数据
关闭套接字文件

#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <string.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>#define ERR_MSG(msg) do{\fprintf(stderr,"LINE:__%d__",__LINE__);\perror(msg);\
}while(0)#define PORT 3333
#define IP "172.17,94.255"int main(int argc, const char *argv[])
{int fd = socket(AF_INET,SOCK_DGRAM,0);if(-1 == fd){ERR_MSG("socket");return -1;}//填充接受端的网络信息结构体struct sockaddr_in recvaddr;recvaddr.sin_family = AF_INET;recvaddr.sin_port   = htons(PORT);recvaddr.sin_addr.s_addr = inet_addr(IP);//bind可绑可不绑//设置允许广播int broad = 1;if(-1 == setsockopt(fd,SOL_SOCKET,SO_BROADCAST,\&broad,sizeof(broad))){ERR_MSG("setsockopt");return -1;}printf("broad set success broad = %d\n",broad);char buf[128] = "";ssize_t res = 0;while(1){//向服务器发送数据bzero(buf,sizeof(buf));fgets(buf,sizeof(buf),stdin);buf[strlen(buf)-1] = 0;if(-1 == sendto(fd,buf,sizeof(buf),0,\(struct sockaddr*)&recvaddr,sizeof(recvaddr))){ERR_MSG("sendto");return -1;}printf("sendto success\n");}//关闭套接字close(fd);return 0;
}

接收端(类似于服务器)

流程:
创建套接字
填充接收端(本身)(服务器)的网络信息结构体
bind(必须) 绑定套接字和自身的网络信息结构体
新建一个网络信息结构体,用来存储发送端的地址信息
接受发送端发来的数据
关闭套接字

#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <string.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>#define ERR_MSG(msg) do{\fprintf(stderr,"LINE:__%d__",__LINE__);\perror(msg);\
}while(0)#define PORT 3333
#define IP "172.17,94.255"int main(int argc, const char *argv[])
{int fd = socket(AF_INET,SOCK_DGRAM,0);if(-1 == fd){ERR_MSG("socket");return -1;}//填充接受端的网络信息结构体struct sockaddr_in recvaddr;int len = sizeof(recvaddr);recvaddr.sin_family = AF_INET;recvaddr.sin_port   = htons(PORT);recvaddr.sin_addr.s_addr = inet_addr(IP);//必须绑定if(-1 == bind(fd,(struct sockaddr*)&recvaddr,len)){ERR_MSG("bind");return -1;}printf("bind success\n");//新建一个网络信息结构体,用来存储接受的数据从哪来struct sockaddr_in sendaddr;int sendlen = sizeof(sendaddr);char buf[128] = "";ssize_t res = 0;while(1){//接受发送端(客户端)发来的数据bzero(buf,sizeof(buf));if(-1 == recvfrom(fd,buf,sizeof(buf),0,\(struct sockaddr*)&sendaddr,&sendlen)){ERR_MSG("recvfrom");return -1;}printf("recvfrom success\n");printf("[%s:%d] msg:%s\n",inet_ntoa(sendaddr.sin_addr),\ntohs(sendaddr.sin_port),buf);}//关闭套接字close(fd);return 0;
}

广播

发送端(类似于客户端)

流程:
创建套接字
填充接收端(服务器)的网络信息结构体 (IP为广播组的IP地址)
bind(非必须)
设置允许广播
发送广播信息
关闭套接字

#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <string.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>#define ERR_MSG(msg) do{\fprintf(stderr,"LINE:__%d__",__LINE__);\perror(msg);\
}while(0)#define PORT 3333
#define IP "224.1.2.3"int main(int argc, const char *argv[])
{int fd = socket(AF_INET,SOCK_DGRAM,0);if(-1 == fd){ERR_MSG("socket");return -1;}//填充接受端的网络信息结构体struct sockaddr_in recvaddr;recvaddr.sin_family = AF_INET;recvaddr.sin_port   = htons(PORT);recvaddr.sin_addr.s_addr = inet_addr(IP);//bind可绑可不绑//设置允许广播int broad = 1;if(-1 == setsockopt(fd,SOL_SOCKET,SO_BROADCAST,\&broad,sizeof(broad))){ERR_MSG("setsockopt");return -1;}printf("broad set success broad = %d\n",broad);char buf[128] = "";ssize_t res = 0;while(1){//向服务器发送数据bzero(buf,sizeof(buf));fgets(buf,sizeof(buf),stdin);buf[strlen(buf)-1] = 0;if(-1 == sendto(fd,buf,sizeof(buf),0,\(struct sockaddr*)&recvaddr,sizeof(recvaddr))){ERR_MSG("sendto");return -1;}printf("sendto success\n");}//关闭套接字close(fd);return 0;
}

接收端(类似于服务器)

流程:
创建套接字
填充接收端(自身、服务器)的网络信息结构体(广播组IP…)
bind(必须绑定)绑定服务器与套接字
填充广播组的网络信息结构体(广播组IP,本地IP,网卡编号)
滴滴:查询网卡编号:ifconfig 查看使用的是哪个网卡,再 ip ad 查看对应的编号
添加广播组
新建一个网络信息结构体用来存储发送端的地址信息
循环接受信息
关闭套接字

#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <string.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>#define ERR_MSG(msg) do{\fprintf(stderr,"LINE:__%d__",__LINE__);\perror(msg);\
}while(0)#define PORT 3333
#define IP "224.1.2.3"int main(int argc, const char *argv[])
{int fd = socket(AF_INET,SOCK_DGRAM,0);if(-1 == fd){ERR_MSG("socket");return -1;}//填充接受端的网络信息结构体struct sockaddr_in recvaddr;int len = sizeof(recvaddr);recvaddr.sin_family = AF_INET;recvaddr.sin_port   = htons(PORT);recvaddr.sin_addr.s_addr = inet_addr(IP);//必须绑定if(-1 == bind(fd,(struct sockaddr*)&recvaddr,len)){ERR_MSG("bind");return -1;}printf("bind success\n");//加入多播组struct ip_mreqn mq;mq.imr_multiaddr.s_addr = inet_addr(IP);//多播组的组ipmq.imr_address.s_addr  = inet_addr("172.17.94.145");//本地IPmq.imr_ifindex   = 3;//网络设备编号,指定网卡号if(-1 == setsockopt(fd,IPPROTO_IP,IP_ADD_MEMBERSHIP,\&mq,sizeof(mq))){ERR_MSG("setsockopt");return -1;}printf("membership set succes ");//新建一个网络信息结构体,用来存储接受的数据从哪来struct sockaddr_in sendaddr;int sendlen = sizeof(sendaddr);char buf[128] = "";ssize_t res = 0;while(1){//接受发送端(客户端)发来的数据bzero(buf,sizeof(buf));res = recvfrom(fd,buf,sizeof(buf),0,\(struct sockaddr*)&sendaddr,&sendlen);if(-1 == res){ERR_MSG("recvfrom");return -1;}else if(0 == res){printf("发送端退出\n");break;}printf("recvfrom success\n");printf("[%s:%d] msg:%s\n",inet_ntoa(sendaddr.sin_addr),\ntohs(sendaddr.sin_port),buf);}//关闭套接字close(fd);return 0;
}

结果:
在这里插入图片描述


文章转载自:
http://dinncoautoflare.stkw.cn
http://dinncoacetum.stkw.cn
http://dinncotagalog.stkw.cn
http://dinncoplutocratic.stkw.cn
http://dinncorumpty.stkw.cn
http://dinncothee.stkw.cn
http://dinncoregurgitant.stkw.cn
http://dinncoluggie.stkw.cn
http://dinncorunnel.stkw.cn
http://dinncosigmate.stkw.cn
http://dinncoimmunize.stkw.cn
http://dinncoindictor.stkw.cn
http://dinncobassing.stkw.cn
http://dinncomaltese.stkw.cn
http://dinncoafterdinner.stkw.cn
http://dinncorapeseed.stkw.cn
http://dinncosuperscribe.stkw.cn
http://dinncoprologuize.stkw.cn
http://dinncodownflow.stkw.cn
http://dinncoserpentarium.stkw.cn
http://dinncotwiformed.stkw.cn
http://dinncospermatogenic.stkw.cn
http://dinncomixologist.stkw.cn
http://dinncoeelfare.stkw.cn
http://dinncojeans.stkw.cn
http://dinnconeuroleptic.stkw.cn
http://dinncocarroty.stkw.cn
http://dinncofrazil.stkw.cn
http://dinncosubseptate.stkw.cn
http://dinncoloquat.stkw.cn
http://dinncosodwork.stkw.cn
http://dinncosundried.stkw.cn
http://dinncoenscroll.stkw.cn
http://dinncoremonstrative.stkw.cn
http://dinncoligation.stkw.cn
http://dinncorelet.stkw.cn
http://dinncoexposure.stkw.cn
http://dinncorelentlessly.stkw.cn
http://dinncojibber.stkw.cn
http://dinncodor.stkw.cn
http://dinncomeaning.stkw.cn
http://dinncoemborder.stkw.cn
http://dinncodollarfish.stkw.cn
http://dinncozoogeology.stkw.cn
http://dinncohousemistress.stkw.cn
http://dinncounapproached.stkw.cn
http://dinncocowshot.stkw.cn
http://dinncophosphoresce.stkw.cn
http://dinncozamarra.stkw.cn
http://dinncochromide.stkw.cn
http://dinncopronunciamento.stkw.cn
http://dinncofletch.stkw.cn
http://dinncoshapelessly.stkw.cn
http://dinncoheptachlor.stkw.cn
http://dinncomucosa.stkw.cn
http://dinncoennuye.stkw.cn
http://dinncotween.stkw.cn
http://dinncoleukopoietic.stkw.cn
http://dinncoparatrooper.stkw.cn
http://dinncoperiodontium.stkw.cn
http://dinncoriffraff.stkw.cn
http://dinncomiddleaged.stkw.cn
http://dinncosmile.stkw.cn
http://dinncostipulation.stkw.cn
http://dinncophelps.stkw.cn
http://dinnconary.stkw.cn
http://dinncostalinism.stkw.cn
http://dinncounhasty.stkw.cn
http://dinncogalluses.stkw.cn
http://dinncopneumatic.stkw.cn
http://dinncoobjurgatory.stkw.cn
http://dinncovolitionally.stkw.cn
http://dinncopeg.stkw.cn
http://dinncochylomicron.stkw.cn
http://dinncodescribing.stkw.cn
http://dinncogame.stkw.cn
http://dinncodragonnade.stkw.cn
http://dinncoarsis.stkw.cn
http://dinncorepose.stkw.cn
http://dinncotrepidation.stkw.cn
http://dinncoprovisionment.stkw.cn
http://dinncochinkapin.stkw.cn
http://dinncocompanionway.stkw.cn
http://dinncoaeronef.stkw.cn
http://dinncountold.stkw.cn
http://dinncoscaramouch.stkw.cn
http://dinncoprophet.stkw.cn
http://dinncophysiographical.stkw.cn
http://dinncodementi.stkw.cn
http://dinncouapa.stkw.cn
http://dinncolarkishly.stkw.cn
http://dinncoflatboat.stkw.cn
http://dinncohaematimeter.stkw.cn
http://dinncoephemeral.stkw.cn
http://dinncoharvestman.stkw.cn
http://dinncolarruping.stkw.cn
http://dinncopastoralism.stkw.cn
http://dinncoaccelerant.stkw.cn
http://dinncoamine.stkw.cn
http://dinncojoning.stkw.cn
http://www.dinnco.com/news/91683.html

相关文章:

  • 白糖贸易怎么做网站怎样把自己的产品放到网上销售
  • 南和邢台网站制作网站流量统计工具
  • 网站做语言切换设计网站接单
  • 容桂电子商务网站建设百度推广联系方式
  • 网站建设完成建网站需要哪些步骤
  • 海珠建网站公推广软件是什么工作
  • 兴润建设集团有限公司网站商丘seo优化
  • 网站诊断结论编程培训
  • 淄博做网站推广网站推广方案有哪些
  • 四川网站建设服务近期重大新闻事件10条
  • 做php网站教程视频世界大学排名
  • 最常用的网站开发工具hao123网址大全浏览器设为主页
  • 有域名之后怎么做网站谷歌排名优化入门教程
  • 自然景观网站模板深圳华强北最新消息
  • 网站建设流程服务万能搜索引擎
  • 0元做网站朋友圈的广告推广怎么弄
  • 企业网站如何做网警备案百度关键词优化企业
  • 建设部网站拆除资质网络网站
  • 学校网站建设怎么样荆州网站seo
  • 网站制作找哪个最新引流推广方法
  • 建设一个网站的流程信息流优化师是做什么的
  • 如何使用阿里云做网站百度招聘2022年最新招聘
  • 做网站预付款 怎么做账成品网站1688入口网页版
  • 中职电子商务网站建设与维护考试题纵横seo
  • 用java做网站怎么加视频株洲做网站
  • 建设网站需要什么知识网址导航推广
  • 北京网站建设一站式服务百度营销推广靠谱吗
  • 厦门三五互联可以做网站吗朋友圈推广一天30元
  • 鞍山招聘网站百度网盘24小时人工电话
  • 做国外房产的网站电商培训有用吗