下载此文档

linux文件传输.docx


文档分类:IT计算机 | 页数:约29页 举报非法文档有奖
1/29
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/29 下载此文档
文档列表 文档介绍
/*************************************************************************>FileName:>Author:SongLee************************************************************************/#include<sys/>#include<sys/>#include<>#inet/>#include<arpa/>#include<>#include<>#include<>#>#include<>#include<>#defineSERVER_PORT8000#defineBUFFER_SIZE1024#defineFILE_NAME_MAX_SIZE512/*包头*/typedefstruct{intid;intbuf_size;}PackInfo;/*接收包*/structSendPack{PackInfohead;charbuf[BUFFER_SIZE];}data;intmain()/*发送id*/intsend_id=0;/*接收id*/intreceive_id=0;/*创建UDF套接口*/structsockaddr_inserver_addr;bzero(&server_addr,sizeof(server_addr));=;=htonl(INADDR_ANY);=htons(SERVER_PORT);/*创建socket*/intserver_socket_fd=socket(,SOCK_DGRAM,0);if(server_socket_fd==-1){perror("CreateSocketFailed:");exit(1);}/*绑定套接口*/if(-1==(bind(server_socket_fd,(structsockaddr*)&server_addr,sizeof(server_addr)))){perror("ServerBindFailed:");exit(1);}/*数据传输*/while(1){/*定义一个地址,用于捕获客户端地址*/structsockaddr_inclient_addr;socklen_tclient_addr_length=sizeof(client_addr);/*接收数据*/charbuffer[BUFFER_SIZE];bzero(buffer,BUFFER_SIZE);if(recvfrom(server_socket_fd,buffer,BUFFER_SIZE,0,(structsockaddr*)&client_addr,&client_addr_length)==-1){perror("ReceiveDataFailed:");exit(1);/*从buffer中拷贝出file_name*/charfile_name[FILE_NAME_MAX_SIZE+1];bzero(file_name,FILE_NAME_MAX_SIZE+1);strncpy(file_name,buffer,strlen(buffer)>FILE_NAME_MAX_SIZE?FILE_NAME_MAX_SIZE:strlen(buffer));printf("%s\n",file_name);/*打开文件*/FILE*fp=fopen(file_name,"r");if(NULL==fp){printf("File:%sNotFound.\n",file_name);}else{intlen=0;/*每读取一段数据,便将其发给客户端*/while(1){PackInfopack_info;if(receive_id==send_id){++send_id;if((len=fread(,sizeof(char),BUFFER_SIZE,fp))>0){=send_id;/* 发送id放进包头,用于标记顺序*/=len;/* 记录数据长度*/if(sendto(server_socket_fd,(char*)&data,sizeof(data),0,(structsockaddr*)&client_addr,client_addr_len

linux文件传输 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数29
  • 收藏数0 收藏
  • 顶次数0
  • 上传人kunpengchaoyue
  • 文件大小46 KB
  • 时间2020-07-28
最近更新