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

简单的手机网站模板分析网站推广和优化的原因

简单的手机网站模板,分析网站推广和优化的原因,王爷追妻有点忙,洛阳网络运营公司作业 1、将TCP的CS模型再敲一遍 服务器 #include <myhead.h> #define PORT 8888 #define IP "192.168.124.123" int main(int argc, const char *argv[]) {//创建套接字//绑定本机IP和端口号//监听客户端请求//接收客户端连接请求//收发消息//创建套接字int…

作业

1、将TCP的CS模型再敲一遍

服务器

#include <myhead.h>
#define PORT 8888
#define IP "192.168.124.123"
int main(int argc, const char *argv[])
{//创建套接字//绑定本机IP和端口号//监听客户端请求//接收客户端连接请求//收发消息//创建套接字int oldfd ;if((oldfd = socket(AF_INET,SOCK_STREAM,0))==-1) 	//创建套接字{perror("socket");return -1;}//端口号快速复用int n = 2;if(setsockopt(oldfd,SOL_SOCKET,SO_REUSEADDR,&n,sizeof(n))==-1){perror("setsockopt");return -1;}//绑定本机IP和端口号struct sockaddr_in server = {.sin_family = AF_INET,.sin_port = htons(PORT),.sin_addr.s_addr = inet_addr(IP)};if(bind(oldfd,(struct sockaddr *)&server,sizeof(server))==-1){perror("bind");return -1;}//监听客户端连接请求,client变量接收客户端信息struct sockaddr_in client;int client_len = sizeof(client);int newfd;if(newfd = accept(oldfd,(struct sockaddr *)&client,&client_len)==-1){perror("accept");return -1;}printf("%s:%d连接\n",inet_ntoa(client.sin_addr),ntohs(client.sin_port));//收发消息char buff[1024];while(1){int res = recv(newfd,buff,sizeof(buff),0);if(res == 0){printf("客户端退出\n");break;}printf("收到消息:%s,收到消息的长度:%d\n",buff,res);strcat(buff,"霜雪");send(newfd,buff,sizeof(buff),0);bzero(buff,sizeof(buff));}close(newfd);close(oldfd);return 0;
}

客户端

#include <myhead.h>
#define IP "192.168.124.123"
#define SERPORT 9999
int main(int argc, const char *argv[])
{//1、创建套接字//2、绑定(不是必须绑定)//3、连接//4、收发消息int oldfd = socket(AF_INET,SOCK_STREAM,0);if(oldfd==-1){perror("socket");return -1;}
#if 0//绑定固定的IP和端口号(不是必须的)struct sockaddr_in client = {.sin_family  =AF_INET,.sin_port = htons(7899),//自定义端口号.sin_addr.s_addr = inet_addr("192.168.124.34")};if(bind(oldfd,(struct sockaddr *)&client,sizeof(client))==-1){perror("bind");return -1;}
#endif//连接服务器struct sockaddr_in server = {.sin_family  =AF_INET,.sin_port = htons(SERPORT),//注意端口号需要服务器端口.sin_addr.s_addr = inet_addr(IP)};if(connect(oldfd,(struct sockaddr *)&server,sizeof(server))==-1){perror("connect");return -1;}//收发消息char buff[1024];while(1){fgets(buff,sizeof(buff),stdin);buff[strlen(buff)-1] = '\0';send(oldfd,buff,sizeof(buff),0);if(strcmp(buff,"quit")==0)//退出客户端{break;}bzero(buff,sizeof(buff));recv(oldfd,buff,sizeof(buff),0);//阻塞接收服务器消息printf("服务器发来消息:%s\n",buff);}close(oldfd);return 0;
}

2、UDP服务器中,使用connect函数,实现唯一的客户端与服务器通话。

服务器

#include <myhead.h>
#define PORT 8888#define IP "192.168.124.123"int main(int argc, const char *argv[])
{//创建套接字int oldfd = socket(AF_INET,SOCK_DGRAM,0);if(oldfd == -1){perror("socket");return -1;}//绑定struct sockaddr_in server = {.sin_family = AF_INET,.sin_port = htons(PORT),.sin_addr.s_addr = inet_addr(IP)};if(bind (oldfd,(struct sockaddr *)&server,sizeof(server))==-1){perror("bind");return -1;}struct sockaddr_in client;int client_len = sizeof(client);char buff[1024];int flag = 0;while(1){recvfrom(oldfd,buff,sizeof(buff),0,(struct sockaddr *)&client,&client_len);printf("%s:%d信息:%s\n",inet_ntoa(client.sin_addr),ntohs(client.sin_port),buff);if(connect(oldfd,(struct sockaddr *)&client,sizeof(client))==-1){perror("connect");return -1;}while(1){int res = recvfrom(oldfd,buff,sizeof(buff),0,NULL,NULL);printf("%s\n",buff);strcat(buff,"周日还要上课,吴!!!!");sendto(oldfd,buff,sizeof(buff),0,NULL,0);bzero(buff,sizeof(buff));if(res == 0){printf("退出客户端\n");break;}}}return 0;
}

客户端

#include <myhead.h>
#define IP "192.168.124.123"
#define PORT 8888
int main(int argc, const char *argv[])
{//1、创建套接字int oldfd = socket(AF_INET,SOCK_DGRAM,0);if(oldfd==-1){perror("socket");return -1;}//2、收发消息struct sockaddr_in server = {.sin_family = AF_INET,.sin_port = htons(PORT),.sin_addr.s_addr = inet_addr(IP)};if(connect(oldfd,(struct sockaddr *)&server,sizeof(server))==-1){perror("connect");return -1;}	char buff[1024];while(1){fgets(buff,sizeof(buff),stdin);buff[strlen(buff)-1] = '\0';sendto(oldfd,buff,sizeof(buff),0,(struct sockaddr *)&server,sizeof(server));bzero(buff,sizeof(buff));recvfrom(oldfd,buff,sizeof(buff),0,NULL,NULL);printf("接收服务器信息:%s\n",buff);}return 0;
}

笔记整理

流程图

UDP服务器

1、创建套接字。

2、绑定本机IP和端口号。

3、收发消息,由于不知道对方是谁,对方也不知道您是谁,所以在发送时附带自己的信息,接收时接收对方信息。

UDP相关API

        #include <sys/types.h>

        #include <sys/socket.h>

                ssize_t sendto(int sockfd, const void *buf, size_t len, int flags, const struct sockaddr *dest_addr, socklen_t addrlen);

        功能:发送信息函数

        参数1:套接字

        参数2:发送的信息

        参数3:信息大小

        参数4: 0:阻塞接收

                        MSG_DONTWAIT:费阻塞接收

        参数5:填写发送目标的IP和端口号 参数6:参数5的大小。

        返回值:成功返回发送的字节个数,失败返回-1,并置位错误码。

        #include <sys/types.h>

        #include <sys/socket.h>

                ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags, struct sockaddr *src_addr, socklen_t *addrlen);

        功能:接收信息函数

        参数1:套接字

        参数2:发送的信息

        参数3:信息大小

        参数4: 0:阻塞接收

                        MSG_DONTWAIT:费阻塞接收

        参数5:自动填充发信息的主机信息。

        返回值:成功返回发送的字节个数,失败返回-1,并置位错误码。

、UDP服务器

#include <myhead.h>
#define PORT 8888
#define IP "192.168.124.34"int main(int argc, const char *argv[])
{//1、创建UDP套接字int oldfd = socket(AF_INET,SOCK_DGRAM,0);if(oldfd==-1){perror("socket");return -1;}//2、绑定struct sockaddr_in server = {.sin_family = AF_INET,.sin_port = htons(PORT),.sin_addr .s_addr = inet_addr(IP)};if(bind(oldfd,(struct sockaddr *)&server,sizeof(server))==-1){perror("bind");return -1;}//收发消息struct sockaddr_in client;int client_len = sizeof(client);char buff[1024];while(1){//接收客户端消息时会将客户端信息写入clientrecvfrom(oldfd,buff,sizeof(buff),0,(struct sockaddr *)&client,&client_len);printf("收到%s:%d的消息:%s\n",inet_ntoa(client.sin_addr),ntohs(client.sin_port),buff);strcat(buff,"元旦不放假难受");sendto(oldfd,buff,sizeof(buff),0,(struct sockaddr *)&client,sizeof(client));//收到谁的信息就发给谁}return 0;
}

4、UDP客户端

1、创建套接字

2、收发消息

#include <myhead.h>
#define IP "192.168.124.34"
#define PORT 8888
int main(int argc, const char *argv[])
{//1、创建套接字int oldfd = socket(AF_INET,SOCK_DGRAM,0);if(oldfd==-1){perror("socket");return -1;}//2、收发消息struct sockaddr_in server = {.sin_family = AF_INET,.sin_port = htons(PORT),.sin_addr.s_addr = inet_addr(IP)};char buff[1024];while(1){fgets(buff,sizeof(buff),stdin);buff[strlen(buff)-1] = '\0';sendto(oldfd,buff,sizeof(buff),0,(struct sockaddr *)&server,sizeof(server));bzero(buff,sizeof(buff));recvfrom(oldfd,buff,sizeof(buff),0,NULL,NULL);printf("接收服务器信息:%s\n",buff);}return 0;
}

思维导图


文章转载自:
http://humectant.gtqx.cn
http://prestidigitation.gtqx.cn
http://brachyurous.gtqx.cn
http://calorescence.gtqx.cn
http://overthrew.gtqx.cn
http://colorway.gtqx.cn
http://baneful.gtqx.cn
http://whiff.gtqx.cn
http://laos.gtqx.cn
http://arenulous.gtqx.cn
http://ricinus.gtqx.cn
http://pickax.gtqx.cn
http://sculpturesque.gtqx.cn
http://symbolatry.gtqx.cn
http://padded.gtqx.cn
http://loquat.gtqx.cn
http://knightlike.gtqx.cn
http://revolvable.gtqx.cn
http://autonomy.gtqx.cn
http://museum.gtqx.cn
http://pean.gtqx.cn
http://caponette.gtqx.cn
http://eleuin.gtqx.cn
http://cryptomeria.gtqx.cn
http://redry.gtqx.cn
http://twofer.gtqx.cn
http://feedstock.gtqx.cn
http://exserviee.gtqx.cn
http://artificialize.gtqx.cn
http://sopor.gtqx.cn
http://ancon.gtqx.cn
http://libia.gtqx.cn
http://semipalmate.gtqx.cn
http://xenomorphic.gtqx.cn
http://endotoxin.gtqx.cn
http://outdoors.gtqx.cn
http://euphonise.gtqx.cn
http://auxotrophy.gtqx.cn
http://sulfureous.gtqx.cn
http://unaccessible.gtqx.cn
http://locomobile.gtqx.cn
http://remise.gtqx.cn
http://sniffer.gtqx.cn
http://troop.gtqx.cn
http://carley.gtqx.cn
http://trenchplough.gtqx.cn
http://bodacious.gtqx.cn
http://sty.gtqx.cn
http://elbow.gtqx.cn
http://bovver.gtqx.cn
http://personally.gtqx.cn
http://complied.gtqx.cn
http://ouija.gtqx.cn
http://dapping.gtqx.cn
http://chiz.gtqx.cn
http://mothering.gtqx.cn
http://mitose.gtqx.cn
http://sureness.gtqx.cn
http://trichinellosis.gtqx.cn
http://avventurina.gtqx.cn
http://ale.gtqx.cn
http://lancang.gtqx.cn
http://bokhara.gtqx.cn
http://isanthous.gtqx.cn
http://fare.gtqx.cn
http://powderless.gtqx.cn
http://petcock.gtqx.cn
http://keelson.gtqx.cn
http://decare.gtqx.cn
http://ripsnort.gtqx.cn
http://scolopophore.gtqx.cn
http://breadwinner.gtqx.cn
http://resistance.gtqx.cn
http://adverb.gtqx.cn
http://fluence.gtqx.cn
http://bejewlled.gtqx.cn
http://codiscoverer.gtqx.cn
http://fanged.gtqx.cn
http://barn.gtqx.cn
http://omphalocele.gtqx.cn
http://teutophobia.gtqx.cn
http://sporotrichosis.gtqx.cn
http://peritonitis.gtqx.cn
http://oviposit.gtqx.cn
http://crocky.gtqx.cn
http://homemaking.gtqx.cn
http://glycocoll.gtqx.cn
http://acoustic.gtqx.cn
http://october.gtqx.cn
http://deaminization.gtqx.cn
http://anacom.gtqx.cn
http://sabled.gtqx.cn
http://womanise.gtqx.cn
http://indign.gtqx.cn
http://dumps.gtqx.cn
http://survey.gtqx.cn
http://herbert.gtqx.cn
http://mutator.gtqx.cn
http://ultramicrometer.gtqx.cn
http://carlet.gtqx.cn
http://www.15wanjia.com/news/68416.html

相关文章:

  • 做网站需要公司百度 seo优化作用
  • 自己做的视频网站如何赚钱吗新闻发布稿
  • 海珠区专业做网站公司国外网站排行
  • 南昌企业建设网站设计资源猫
  • 做简历有什么网站云南网站seo服务
  • 企业解决方案 msdn技术资源库seo招聘信息
  • 网络营销策略分哪几类南宁百度seo建议
  • layerslider wordpress厦门seo搜索排名
  • 有一个网站 做各种有去的测试一键搭建网站
  • 怎么做网站背景图seo推广哪家好
  • 那些网站可以做公司的推广推荐一个seo优化软件
  • 遵化网站定制网站建站在线制作
  • jsp新闻网站建设百度优化
  • 龙岩网站建设加盟竞价排名是按照什么来计费的
  • 企业网站建立教程网站统计哪个好用
  • 新县住房和城乡规划建设局网站百度账号申诉
  • 网站如何做微信支付宝支付宝支付宝梅州网络推广
  • 找建筑工作哪个网站好国内十大搜索引擎排名
  • 贵阳网站制作服务商seo结算系统
  • 编译django做的网站2024新闻热点事件
  • 淘宝网站SEO怎么做武汉网站竞价推广
  • 工业园企业建设网站公司推广网站怎么制作
  • 上海网站建设哪家专业交换链接的方法
  • 纯html网页模板网站推广优化价格
  • 建设电子商务网站流程北京cms建站模板
  • 怎么在拼多多开网店淄博seo公司
  • 做外贸外文网站怎么做好福州网站快速排名提升
  • 怎么用.net做网站湛江seo推广公司
  • php程序员做企业网站推广工具
  • 公司网站后台上怎么上传图片呢南宁seo推广优化