安全文件传输系统的设计与实现.docx
《安全文件传输系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《安全文件传输系统的设计与实现.docx(7页珍藏版)》请在优知文库上搜索。
1、平安文件传输系统的设计与实现院系:计算机与通信工程学院班级:嵌入式软件1001姓名:学号:54111指导老师:陈晓雷老师1 .平安文件传输系统的软件设计框架平安文件传输系统由硬件和软件两局部组成。硬件局部可以是普通的安装LinUX操作系统的PC机,也可以是嵌入式系统。本系统的硬件实现平台是S3C2440嵌入式开发板。现代网络通信中,大局部网络协议的实现都由客户端(Client)和效劳器端(Server)来协作完成。这种模型本质上涉及两个不同的程序,通常这两个程序在不同机器上运行,这些机器之间都有网络连接。效劳器端程序提供效劳并对来自客户程序的请求作成响应。而客户端程序那么是在使用者和效劳器端程
2、序之间建立某种沟通的渠道,或者是作为使用效劳器端提供的某种网络效劳的工具。本文传输过程也是通过客户端和效劳器端来实现,软件实现的总体框图如图:系统使用C和C+程序编写,支持将每个文件的元数据进行存储;支持从效劳器中获取文件的元数据;效劳器是多线程的,能够允许多个客户端同时连接;并且记录文件操作事件日志,能够支持用户名和密码的验证;客户端是QT应用程序,具有上传和下载两种能力,并且为了确保上传和下载是否成功,先检查碰盘空间。系统的数据流如图:效劳器端是数据流向的交汇点,也是系统数据存储的资源池。各个客户端发起连接请求,效劳端利用进程并发技术,相应多个客户端的请求。因此效劳端主要完成两个任务,检查
3、客户端是否成功登录,以及判断客户端发来的信号,对该信号进行相应。客户端是每个应用终端的实现方式也是外在表现,它主要包括:登录交互平台、检查信息是否完整喝客户端主窗口的配置。用户根据自己的需要在成功登录系统以后,可以向效劳器发出命令。可以发出的命令包括:效劳器LiSt显示、效劳器端LiSt刷新、上传文件、下载文件、客户端LiSt显示。系统的内部设计是通过socket套接字建立连接,socket在所有的网络操作系统和网络应用程序中都是必不可少的,它是网络通信中应用进程和网络协议之间的接口。在LirIUX操作系统中,SOCket属于文件系统中的一局部,网络通信可以被看作是对文件系统的读取。这就使得用
4、户对网络的控制,像对文件的控制一样方便。Socket网络通信同样也分为效劳器端和客户端两局部。2 .平安文件传输系统的效劳器端设计效劳器端的作用是响应用户连接请求,验证用户,对取到的命令进行解析,根据命令执行不同的操作。根据输入的文件名翻开文件并将文件数据读入缓冲区;将缓冲区内的数据写入文件。并且对接收到的协议包解封,将数据缓冲区中的数据进行封装。效劳器端内部设计流程图如图:效劳器端内部设计主要用到的连接函数有:(1) intsocket(intfamily,inttype,intprotocol)该函数用于建立一个SOCket连接,可指定SOCket类型等信息。在建立了socket连接之后,
5、可对socketadd或sockaddr_in进行初始化,以保存所建立的socket信息。(2) intbind(intsockfd,Structsockaddr*my_addr,intaddrlen)该函数是用于将本地IP地址绑定端口号的,假设绑定其他地址那么不能成功。另外,它主要用于TCP的连接,而在UDP的连接中那么无必要。本文基于TCP连接。(3) intlisten(intsockfd,intbacklog)该函数用于通知内核,效劳器将在某个套接口上监听并接受连接。(4) intaccept(intsockfd,void*addr,int*addrlen)该函数的作用是,当其被调用时
6、,效劳器端的程序会一直拥塞直到有一个客户程序发出了连接。accept()调用成功时,返回连接进来的客户机的文件描述符,之后效劳器端就可以利用该描述符向客户机读写信息了,失败时返回-1.(5) intsend(intsockfd,constvoid*msg,intlen,unsignedintflags)和intrecv(intsockfd,void*buf,intlen,unsignedintflags)这两个函数是在建立连接后用于完成发送与接收数据的系统调用。3.平安文件传输系统的客户端设计客户端的作用是通过输入IP,port向效劳器发起请求连接,然后将用户名和密码发给效劳器进行验证,验证通
7、过后通过选中客户端本地的目录来查看该目录下的文件列表,上传的时候根据输入的文件名找到文件并将文件数据读入缓冲区,下载的时候从保存有文件数据的缓冲区取出数据写入本地磁盘。客户端在上传文件的时候将得到的文件数据缓冲区中的数据封装到协议包,下载文件的时侯根据得到的协议包解析出其中包含的文件有效数据。客户端内部设计流程图:客户端内部设计主要用到的连接函数有:(1) intsocket(intfamily,inttype,intprotocol)该函数的作用同效劳器端socket()函数,用于建立socket连接。(2) intbind(intsockfd,Structsockaddr*my_addr,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 安全 文件传输 系统 设计 实现
