Linux下基于TCP/IP协议的文件传输程序
【设计目的】
通过Linux C编程,设计一个基于TCP/IP的文件传输系统,实现网络文件的收发
【设计环境】
Ubuntu 12.04
【设计方案】
文件读写
任意文件都可以二进制的方式进行读写,为了实现任意文件类型的传输,在读写文件的过程中,必须采用二进制的读写方式。
传输协议
为了保证数据的正确性,文件传输需要采用一种可靠的传输协议。UDP协议实现比较简单,但UDP面向无连接,传输过程中,会出现丢包的情况,导致数据发送失败。故采用面向连接的TCP/IP协议,防止传输过程中的数据丢失的情况。
大文件的传输
对于比较大的文件,应该进行分包操作,以防止占用过多的内存,导致文件发送失败。
【设计流程】
如图1所示,服务器程序作为文件的发送方。首先,服务器端输入要发送的文件。然后,创建一个流式套接字(SOCK_STREAM),进行绑定。绑定成功后,执行监听,当有客户发送连接请求,执行Accept(),接收来自客户端的请求。
连接建立后,首先服务器向客服端发送的文件的文件名及扩展名等信息。信息发送完毕,服务器方将待发送的数据读入缓冲区,通过套接字将数据发送出去。发送完成后退出,并显示发送完成的信息。
图1 服务器流程图
如图2所示,客户端程序完成文件的接收操作。首先,创建一个流式套接字。套接字创建成功后,对该套接字进行绑
您可能关注的文档
- 云计算在石油行业中的应用.doc
- 云计算综述基础知识.docx
- 云计算组成介绍.doc
- 灾后重置电教和计算机网络设备采购说明解读.doc
- 在Excel中相同格式工作簿工作表汇总到一个工作簿中的方法:.docx
- 在GT3上安装GridFtp服务的配置心得.doc
- 在U盘上安装Linux系统解决方案.doc
- 河北省保定市安国市2027届四年级数学第一学期期末调研试题含解析.doc
- 周口市川汇区2027届六年级数学第一学期期末统考试题含解析.doc
- 湖北省十堰市郧县2027届数学三上期末联考试题含解析.doc
- 人教版生物 七年级上册 1.1.2生物的特征 分层作业(解析版).pdf
- 2027届开封市尉氏县六年级数学第一学期期末统考模拟试题含解析.doc
- 2027届米脂县三上数学期末学业水平测试模拟试题含解析.doc
- 昆明市石林彝族自治县2027届数学四上期末监测模拟试题含解析.doc
- 2027届浙江省杭州市临安区四年级数学第一学期期末联考试题含解析.doc
- 2027届六盘水市六枝特区三上数学期末监测模拟试题含解析.doc
- 2027届浙江省黄山市数学三上期末达标测试试题含解析.doc
- 2027届厦门市民立二小数学六年级第一学期期末达标检测试题含解析.doc
- 2027届商都县三年级数学第一学期期末质量检测试题含解析.doc
- 丹东市元宝区2027届六年级数学第一学期期末达标测试试题含解析.doc
原创力文档

文档评论(0)