linux的小型远程FTP服务系统

linux的小型远程FTP服务系统

ID:37711217

大小:1008.50 KB

页数:72页

时间:2019-05-29

linux的小型远程FTP服务系统_第1页
linux的小型远程FTP服务系统_第2页
linux的小型远程FTP服务系统_第3页
linux的小型远程FTP服务系统_第4页
linux的小型远程FTP服务系统_第5页
资源描述:

《linux的小型远程FTP服务系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、中北大学操作系统课程设计说明书 学院、系:软件学院专业:软件工程学生姓名:学号:设计题目:基于linux的小型远程FTP服务系统的设计起迄日期:2011年12月22日-2012年1月7日指导教师:薛海丽   2012年1月7日711需求分析1.1设计目的:用高级语言编写和调试一个简单的FTP服务系统,掌握对进程、线程、进程互斥、同步、通信、文件系统及网络编程的方法。从而加深学生对远程服务机制的理解和认识。1.2设计要求:①该系统要求有服务器端软件和客户端软件两部分组成,服务器端在指定端口接受客户连接请求,根据客户要求执行相应处理,客户端提供系统的交互界面②基于套接字得客户/服务

2、器通信模式③远程登录功能要求集成linux系统的客户管理功能,对客户信息予以验证,客户发送连接请求时,提供FTP服务器软件在linux主机上的客户名及密码,请求命令格式如下:Ftps://客户名:密码@FTP服务器IP:port④并发执行及管理功能采用多线程,客户通过身份请求后创建一个新线程来响应客户请求。⑤活动客户计数功能统计当前的活动客户数,通过身份验证+1,断开连接-1⑥文件管理功能服务器端的文件基本操作包括:mkdir、rmdir、cd、ls客户端执行的基本操作包括:创建及删除目录、切换目录、查看当前目录下的所有文件设定文件传输模式:文本模式和二进制文件传输:uploa

3、d/download到指定目录。1.3开发环境:本程序分为服务器端和客户端两部分,全部在RedHatEnterpriseLinux5系统中使用GCC编译执行,要求系统具有vsftpd组件。1.4程序特点:本程序主要使用套接口函数实现服务器端/客户端通信,具有较强的安全性设计和错误提示功能;采用多线程设计,可以保证多个客户端登陆同一服务器端而不冲突。程序使用命令提示符界面,在指定账户登录可实现全部功能,而在匿名账户下可实现部分功能。2.总体设计:2.1功能模块:本程序分为套接口通信模块、登录模块、命令解析模块、文件操作模块、文件传输模块共5个模块,具体如下:A.套接口通信模块:表

4、2-1套接口函数列表函数名类型功能*Handle_Client_Request()void响应客户端请求do_client_work()void处理客户端动作sockaddr_increate_date_sock()struct创建数据管道send_client_info()void发送客户端信息recv_client_infoint接受客户端信息fill_host_addr()int写入服务器地址71xconnect()int连接服务器与客户端ftp_send_cmd()int发送FTP指令ftp_get_reply()int接受服务器回应xconnect_ftpdata()

5、int传输数据handle_pasv()void设定FTP工作模式B.登录模块:表2-2登录模块函数列表函数名类型功能login()int客户端登录close_cli()void关闭客户端连接get_user()void获取账户名get_pass()void获取密码ftp_login()int登录到FTP服务器show_help()void显示帮助信息ftp_quit()void退出客户端C.命令解析模块:表2-3命令解析模块函数列表函数名类型功能cmd_err_exit()void处理错误的命令ftp_usr_cmd()int解析用户输入的命令start_ftp_cmd()i

6、nt连接到服务器的命令ftp_cmd_filename()void处理文件名的命令D.文件操作模块:表2-4文件操作模块函数列表函数名类型功能ftp_list()void列出服务器文件列表ftp_pwd()void显示服务器当前所在目录ftp_cd()void转到服务器指定目录del()void删除文件mkdir_srv()void新建文件夹rmdir_srv()void删除文件夹local_list()void列出客户端文件列表local_pwd()void显示客户端当前所在目录local_cd()void转到客户端指定目录handle_cwd()void处理转换目录的请求h

7、andle_rmd()void处理删除目录的请求handle_mkd()void处理新建文件夹的请求handle_list()void处理列出文件列表的请求E.文件传输模块:71表2-4文件传输模块函数列表函数名类型功能ftp_put()void上传文件ftp_get()void下载文件handle_file()void检查文件handle_del()void删除文件2.2程序流程图图2-1程序流程图713.详细设计3.1客户端连接服务器相关代码:函数get_user()和get_pass(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。