当前位置: 首页 > 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.zqtcl.cn/news/933/

相关文章:

  • 上海专业网站建设维护网站建设二次开发怎么样
  • 河南卓越建设工程有限公司网站网络推广费用高吗
  • 做农家乐网站什么平台能推广项目
  • 网站开发公司电话南宁月嫂网站建设
  • thinkphp大型网站开发宁波市高等级公路建设指挥部网站
  • WordPress图片上传最大尺寸烟台优化网站公司哪家好
  • 韩式摄影网站源码wordpress 支持小工具
  • 做旅游宣传哪个网站好做网站效果图总结
  • 建设营销型网站广州辽宁建设工程信息网官网查不良行为
  • 省厅网站建设招标音乐网站开发与需求
  • 内蒙营销型网站建设营销类网站模板
  • 帝国cms手机网站网站 空间 备案
  • 带数据库的网站做郑州高新区做网站开发的公司
  • 全屏 网站 代码188自助建站系统
  • 怎样做理财投资网站免费网站模板的制作方法
  • 音乐网站网页设计成都做网站建设
  • 北京网站开发培训本地最新招聘信息
  • 政务公开网站建设重点怎么注册自己的微网站
  • 游戏开发网站开发软件公司 网站建设费分录
  • 太原开发网站公司线上外贸平台有哪些
  • 阿里云二级域名网站怎么建设美食网站建设的意义
  • 丽水做网站企业电子商务网站建设重要性
  • 简要描述网站开发过程虚拟资源交易商城wordpress
  • 邵阳做网站的公司优质服务的网站设计制作
  • 桂林建站黑马程序员怎么样
  • 定制网站与模板网站的主要区别龙湖什么网站做宣传
  • 网站域名已经被绑定wordpress虚拟阅读量
  • 个人做百度云下载网站吗wordpress主题祥情在那改
  • 江苏省建设厅的官方网站太原做网站费用
  • 服装品牌网站开发php自己做的网页怎么连接到网站