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

湖南省建设厅建筑业信息网seo如何优化一个网站

湖南省建设厅建筑业信息网,seo如何优化一个网站,网络推广培训课程4万,互联网舆情监测目录 作业要求&#xff1a;基于UDP的TFTP文件传输 代码 下载功能效果图​编辑 上传功能效果图 思维导图 模拟面试题和答案&#xff08;定期更新&#xff09; 作业要求&#xff1a;基于UDP的TFTP文件传输 完成文件的上传和下载功能 代码 #include<myhead.h>//实现…

目录

作业要求:基于UDP的TFTP文件传输

代码

下载功能效果图​编辑

上传功能效果图

思维导图

模拟面试题和答案(定期更新)


作业要求:基于UDP的TFTP文件传输

完成文件的上传和下载功能

代码

#include<myhead.h>//实现下载功能
int do_download(int cfd, struct sockaddr_in sin)
{//定义变量存储下载请求包char buf[516] = "";//定义变量存储文件名char fileName[40] = "";printf("请输入文件名:");scanf("%s", fileName);getchar();//组装请求包short *p1 = (short *)buf;*p1 = htons(1);                 //写1表明要下载char *p2 = buf+2;           //文件名段strcpy(p2, fileName);char *p3 = p2+strlen(p2)+1;    //模式段strcpy(p3, "octet");int size = 4 + strlen(p2) + strlen(p3);      //要发送的请求包的大小//向服务器发送下载请求if(sendto(cfd, buf, size, 0, (struct sockaddr*)&sin, sizeof(sin)) == -1){perror("sendto error");return -1;}printf("请求成功\n");socklen_t socklen = sizeof(sin);//打开一文件接受下载文件int fd = open(fileName,O_RDWR|O_TRUNC|O_CREAT,0666);if(fd<0){perror("open error");return -1;}int  res;while(1){//接受数据包bzero(buf,sizeof(buf));res = recvfrom(cfd,buf,sizeof(buf),0,(struct sockaddr*)&sin,&socklen);if(res<0){perror("recvfrom error");return -1;}if(buf[1]==3){//写入文件if(write(fd,buf+4,res-4)<0){perror("write");return -1;}//构造ACKbuf[1] = 4;//发送ACKif(sendto(cfd,buf,4,0,(struct sockaddr*)&sin,sizeof(sin))<0){perror("sendto");return -1;}//判断数据包中的数据大小if(res-4<512){printf("%s 下载完毕\n",fileName);break;}}else if(buf[1]==5){printf("%d %s\n",ntohs(*(short*)(buf+2)),buf+4);break;}}close(fd);	return 0;
}//实现上传功能
int do_upload(int cfd,struct sockaddr_in sin)
{//定义变量存储上传请求包char buf[516] = "";//定义变量存储文件名char fileName[40] = "";printf("请输入文件名:");scanf("%s", fileName);getchar();//组装请求包short *p1 = (short *)buf;*p1 = htons(2);                 //写2表明要上传char *p2 = buf+2;           //文件名段strcpy(p2, fileName);char *p3 = p2+strlen(p2)+1;    //模式段strcpy(p3, "octet");int size = 4 + strlen(p2) + strlen(p3);      //要发送的请求包的大小//向服务器发送上传请求if(sendto(cfd, buf, size, 0, (struct sockaddr*)&sin, sizeof(sin)) == -1){perror("sendto error");return -1;}printf("请求成功\n");socklen_t socklen = sizeof(sin);//打开准备上传的文件int fd = open(fileName,O_RDONLY);if(fd<0){perror("open error");return -1;}int res1,res2;int kbh = 1;while(1){//接受数据包bzero(buf,sizeof(buf));res1 = recvfrom(cfd,buf,4,0,(struct sockaddr*)&sin,&socklen);if(res1 < 0){perror("recvfrom error");return -1;}//判断是否接收到服务器发来的ACKif(buf[1]==4){//填充发送的数据包buf[1] = 3;buf[3] = kbh;res2 = read(fd,buf+4,512);if(res2 < 0){perror("read error");return -1;}					//向服务器发送数据包if(sendto(cfd,buf,sizeof(buf),0,(struct sockaddr*)&sin,sizeof(sin)) == -1){perror("sendto error");return -1;}//发一次块编号加一一次kbh++;//循环退出条件if(res2 < 512){close(fd);printf("文件上传完毕\n");break;}}else if(buf[1]==5){printf("%d %s\n",ntohs(*(short*)(buf+2)),buf+4);break;}}return 0;
}
int main(int argc, const char *argv[])
{if(argc != 2){printf("input error\n");printf("usage:./a.out ip\n");return -1;}//1、创建套接字int cfd = socket(AF_INET, SOCK_DGRAM, 0);if(cfd == -1){perror("socket error");return -1;}//2、填充服务器地址信息结构体struct sockaddr_in sin;sin.sin_family = AF_INET;sin.sin_port = htons(69);sin.sin_addr.s_addr = inet_addr(argv[1]);int menu = -1;while(1){system("clear");                     //清屏printf("\t\t======1、下载=======\n");printf("\t\t======2、上传=======\n");printf("\t\t======0、退出=======\n");printf("请输入功能:");scanf("%d", &menu);getchar();//多分支选择switch(menu){case 1:{do_download(cfd, sin);}break;case 2:{do_upload(cfd,sin);}break;case 0:goto POS;default:printf("输入功能有误,请重新输入\n");}//阻塞printf("输入任意键,按回车清空:");while(getchar() != '\n');}POS://关闭套接字close(cfd);return 0;
}

下载功能效果图

上传功能效果图

思维导图

(从第二章到第五章)

模拟面试题和答案(定期更新)

http://www.tj-hxxt.cn/news/109758.html

相关文章:

  • 网站制作com cn域名有什么区别宁波网站推广找哪家
  • 未来做哪些网站能致富武汉网络营销公司排名
  • 用jsp实现网站开发的流程24小时自助下单平台网站便宜
  • wordpress多大vps百度优化
  • 线上培训福州百度关键词优化
  • 如何做国外独立网站潍坊住房公积金管理中心
  • 做网站要提供什么网络营销试卷
  • 网站建设课程设计实训日志开网店怎么推广运营
  • 建设有访问量的网站无锡百度竞价公司
  • 上海设计网站建设网络营销推广策略
  • 公司名词解释搜索引擎优化技术有哪些
  • 集团网站建设特点互联网平台推广是什么意思
  • 廊坊做网站电话西安网站关键词优化推荐
  • 多语言网站(如何实现网站的多语言版本 )虎门今日头条新闻
  • 网吧网站怎么做上海有名网站建站开发公司
  • 建站服务搭建的页面时搜索引擎有哪些?
  • 郑州市公司网站开发设计百度客服号码
  • wordpress反垃圾插件网站seo具体怎么做
  • 做宠物网站seo在线排名优化
  • 做网站阿里巴巴好还是百度好百度网盘登录入口 网页
  • 网站备案找回嘉兴seo计费管理
  • 网站seo优化免优化网站关键词的技巧
  • 怎么用织梦做本地网站360网站推广登录
  • 智联招聘网站可以做两份简历吗长春网站制作系统
  • 用自己电脑做网站空间seo排名优化工具
  • 做外贸需要哪些网站新手学百度竞价要多久
  • 网站被降权如何恢复百度助手下载安装
  • 惠州网站建设web91seo五大经验分享
  • 中国最好的旅游网站品牌营销经典案例
  • 织梦大气蓝色门户资讯网站模板搜索引擎调词平台