下载此文档

在Linux下基于TCP协议的文件传输程序汇总.docx


文档分类:IT计算机 | 页数:约9页 举报非法文档有奖
1/9
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/9 下载此文档
文档列表 文档介绍
Linux下基于TCP/IP协议的文件传输程序【设计目的】通过LinuxC编程,设计一个基于TCP/IP的文件传输系统,实现网络文件的收发【设计环境】【设计方案】(1) 文件读写任意文件都可以二进制的方式进行读写, 为了实现任意文件类型的传输,在读写文件的过程中,必须采用二进制的读写方式。(2) 传输协议为了保证数据的正确性, 文件传输需要采用一种可靠的传输协议。 UDP协议实现比较简单,但UDP面向无连接,传输过程中,会出现丢包的情况,导致数据发送失败。故采用面向连接的TCP/IP协议,防止传输过程中的数据丢失的情况。(3) 大文件的传输对于比较大的文件,应该进行分包操作,以防止占用过多的内存,导致文件发送失败。【设计流程】如图1所示,服务器程序作为文件的发送方。首先,服务器端输入要发送的文件。然后,创建一个流式套接字(SOCK_STREAM),进行绑定。绑定成功后,执行监听,当有客户发送连接请求,ept(),接收来自客户端的请求。连接建立后,首先服务器向客服端发送的文件的文件名及扩展名等信息。 信息发送完毕,服务器方将待发送的数据读入缓冲区,通过套接字将数据发送出去。发送完成后退出,并显示发送完成的信息。图1服务器流程图如图2所示,客户端程序完成文件的接收操作。首先,创建一个流式套接字。套接字创建成功后,对该套接字进行绑定。绑定成功后,向服务器方发送连接请求。连接成功后,首先,接收服务器发送的文件信息。接收成功后,开始数据的接收。 文件接收完毕,显示文件已接收完成。图2客户端流程图【设计测试】了验证设计的正确性,在 系统上对可执行文件进行了回环测试。步骤如下:(1)(2)客户端源文件及可执行文件),等待客户端连接)执行客户端文件fileclient,如果不输入IP地址将显示提示)执行客户端文件后,输入完整命令,文件传输文件完成)看到服务器端也显示文件传输完成服务器源码:#include<>#include<>#include<>#include<>#include<sys/>#include<sys/>#include<sys/>#inet/>#definePORT6000#defineLISTENQ20#defineBUFFSIZE4096#defineFILE_NAME_MAX_SIZE512intmain(intargc,char**argv[]){//输入文件名称charfilename[FILE_NAME_MAX_SIZE];bzero(filename,FILE_NAME_MAX_SIZE);printf("Pleaseinputthefilenameyouwanatosend:");scanf("%s",&filename);getchar();//设置一个socket地址结构intsockfd,connfd;structsockaddr_insvraddr,clientaddr;bzero(&svraddr,sizeof(s

在Linux下基于TCP协议的文件传输程序汇总 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数9
  • 收藏数0 收藏
  • 顶次数0
  • 上传人suijiazhuang1
  • 文件大小49 KB
  • 时间2020-09-29