下载此文档

Linux下基于socket的文件传输程序设计.docx


文档分类:IT计算机 | 页数:约21页 举报非法文档有奖
1/21
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/21 下载此文档
文档列表 文档介绍
课程设计课程名称Linux下基于socket的文件传输程序设计学生学院 信息工程学院专业班级学号学生姓名指导教师2013年12月27日引言在互联网已经基本普及的情况下,人们越来越依赖于信息网络。因为互联网的使用,我们可以大大的节省了我们的时间及成本。所以文件、信息的传输已经是人们生活中不可缺少的东西。而现在主流的应用软件都是基于WINDOWS平台上开发运行的。Linux操作系统本身具有非常高的安全性,不易感染病毒(这是WINDOWS系统所不能比拟的),而且可移植性强,应用于大多数的服务器。所以我们应该多开发出适合人们使用的应用软件,使得Linux更加好的为广大网民使用以保障自身的安全性。本课设主要介绍在Linux下的文件传输原理及功能,虽然不能与主流传输软件的功能相比,但是却是占用的资源比它要少1课设背景分析这次课程设计的要求是在以Linux为内核的操作系统下,实现多线程文件传输系统功能模块。系统模块分为服务器和客户端两部分, 客户端实现对文件的上传、下载和查看服务器默认路径下的文件列表;服务器可以对文件进行管理操作,包括创建、删除和重命名等。多线程文件传输是一种一对多或者多对多的关系,一般是一个服务器对应着多个客户端。客户端通过socket连接服务器,服务器要为客户端创建一个单独进程(线程)监听每个客户端的请求。创建好连接之后文件就可以通过流的形式传输。linux内核中为我们提供了两种不同形式的读写流,包括read()、write()和send()、recv()。客户机对文件的查看指令也是通过流传递给服务器,服务器根据请求类型返回不同相应流。根据socket原理和特点绘画出链接流程图,将客户机与服务器的相互通信划分为不同的模块,每个模块负责独立的功能项。服务器输入指令管理目录下的文件,createfilename是创建文件命令,renameoldnamenewname是删除文命令,deletefilename是删除文件命令,同时监听着客户端的请求;客户端向服务器发送上传、下载和查看请求,从而得到不同的相应,包括将文件下载到当前路径下,从当前路径下上传文件给服务器,列出服务器的文件列表。 网络通信原理(TCP国际标准化组织(ISO)在1978年提出开放系统互连参考模型 (OSI:opensysteminterconnection refereneemode),该模型是设计和描述网络通信的基本框架。OSI采用分层的额结构化技术将通信网络分为 7层,从低到高为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。TCP/IP参考模型是由美国国防部创建,且发展至今最成功的通信协议模型,与OSI模型对应,它将网络功能分为4层,包括网络接口层、网络层、传输层和应用层,每一层都有对应的协议。在传输层的主要协议是 TCP协议和UDP协议。socket连接就是基于TCP协议。TCP是一种可靠地数据传输协议。它为应用程序提供可靠的通信连接。适合于一次传输大批数据的情况。并适用于要求得到响应的应用程序并通过3次握手。其数据包头格式为:。socket是一种特殊的I/O接口,它也是一种文件描述符。它是一种常用的进程之间通信机制,通过它不仅能实现本地机器上的进程之间的通信,而且通过网络能够在不同机器上的进程之间进行通信。每一个socket都用一个半相关描述{协议、本地地址、本地端口}来表示;一个完整的套接字则用一个相关描述{协议、本地地址、本地端口、远程地址、远程端口}来表示。socket也有一个类似于打开文件的函数调用,该函数返回一个整型的socket描述符,随后的连接建立、数据传输等操作都是通过socket来实现的。socket是一种套接口,它把网络地址和端口号信息放在一个结构体中,也就是套接字地址结构。结构图如下:Ip地址端口号套接口与ip、端口号的关系通用套接口地址数据结构定义在<sys/>头文件中,形式如下:structsockaddruint8_tsa_len;sa_family_tsa_family;charsa_data[14];};IPv4套接口地址数据结构以socketaddr_in命名,inet/>头文件中,形式如下:structsocketaddr_in{_unit8_tsin_len;sa_family_tsin_family;in_port_tsin_port;structin_addrsin_addr;unsignedcharsin_zero[8];图是TCP套接通信工作流程图客户机进程服务器进程TCP套接口通信工作过程通信工作的大致流程:服务器先用socket()函数来建立一个套

Linux下基于socket的文件传输程序设计 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数21
  • 收藏数0 收藏
  • 顶次数0
  • 上传人kunpengchaoyue
  • 文件大小127 KB
  • 时间2020-08-09