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

健身房网站建设制作百度移动网站模板免费下载

健身房网站建设,制作百度移动网站模板免费下载,如何做图片 网站 链接,周口专业做网站公司目录 作业要求#xff1a;基于UDP的TFTP文件传输 代码 下载功能效果图​编辑 上传功能效果图 思维导图 模拟面试题和答案#xff08;定期更新#xff09; 作业要求#xff1a;基于UDP的TFTP文件传输 完成文件的上传和下载功能 代码 #includemyhead.h//实现…目录 作业要求基于UDP的TFTP文件传输 代码 下载功能效果图​编辑 上传功能效果图 思维导图 模拟面试题和答案定期更新 作业要求基于UDP的TFTP文件传输 完成文件的上传和下载功能 代码 #includemyhead.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 buf2; //文件名段strcpy(p2, fileName);char *p3 p2strlen(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(fd0){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(res0){perror(recvfrom error);return -1;}if(buf[1]3){//写入文件if(write(fd,buf4,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-4512){printf(%s 下载完毕\n,fileName);break;}}else if(buf[1]5){printf(%d %s\n,ntohs(*(short*)(buf2)),buf4);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 buf2; //文件名段strcpy(p2, fileName);char *p3 p2strlen(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(fd0){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,buf4,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*)(buf2)),buf4);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\t1、下载\n);printf(\t\t2、上传\n);printf(\t\t0、退出\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.sadfv.cn/news/140275/

相关文章:

  • 重庆建设集团网站广西南宁市有哪些网络公司
  • 长宁青岛网站建设WordPress免费问答主题
  • 重庆网站推广产品有哪些做图纸的网站
  • 招聘设计师去哪个网站南宁网络推广品牌
  • 柳城企业网站建设公司网站程序代码
  • 北湖区网站建设专业茂名网站制作
  • 营销型网站建设方案营销型网站建设品牌
  • 网站建设与维护试题及答案做网站对服务器要求
  • 江西专业的企业网站建设公司自己做的网站手机不能看
  • 青岛模板自助建站启源网站建设
  • 网站标题优化怎么做怎么做网站咨询
  • 绵阳建设局网站德州关键词优化
  • 换友链的网站用dw做网站背景
  • 做网站niche南京建设工程网站
  • 在线建站软件海南钢网架公司
  • 淄博网站推广公司那些深圳市住房和建设局门户网站
  • 建立网站需要备案吗网站范例
  • 网站建设合作协议文本在国外用什么地图导航
  • 网站seo工作国际知名设计公司的新方案
  • 如何建设英文网站产品营销推广策略
  • 个人备案网站名称怎么写网站开发常用字体
  • 怎么用虚拟机做网站怎么创建网站
  • 建设网站团队校园门户网站解决方案
  • 景点网站建设方案有哪些平面设计网站
  • 买建筑公司网站零基础学网页设计
  • 阿里云域名续费网站php网站后台登陆不上
  • 门户网站开发需要无锡网站制作哪家便宜
  • 在线教育网站开发实例清空wordpress数据库表
  • 韶关做网站的wordpress给分类添加自定义文字
  • 电动车网站建设成都网站建设桔子