MrGerry1 MrGerry1
I
关注数: 18 粉丝数: 25 发帖数: 2,176 关注贴吧数: 2
求妓院大神 Linux系统编程大作业 一、实验题目 实现一个FTP服务系统 二、实验目的 通过该实验,掌握Linux环境下的多线程/进程编程技术、文件操作、用户权限管理、进程间通信技术 三、实验要求 基于客户/服务器交互模式,采用TCP/IP通信协议,实现一个支持远程文件传输的客户/服务器软件,支持文件的上传和下载。其中客户端软件命名为myftp,服务器软件命名为ftpserver,具体功能需求如下: () 服务器 1) 启动方式。执行ftpserver [IP地址] port启动FTP服务。其中IP地址为可选项。若不提供服务器IP地址,FTP服务将自动绑定到本地网络的IP。 2) 用户认证与权限管理。为FTP客户提供基于用户名/密码认证的服务模式,只有授权用户才可以访问FTP服务。与此同时,对文件/目录的访问,也实现基于授权的访问机制,即只有授权用户才可以对指定文件进行读写操作。用户只有在具备写权限操作的目录上才能上传文件。(可直接集成Linux服务器系统的用户管理) 3) 并行执行功能。为提高系统性能,服务器将采用多进程/线程技术响应客户请求。当客户通过身份验证后,服务器将创建一个新的进程/线程来响应用户请求,提供服务。 4) 服务器支持的客户文件操作。登录成功后,客户可在服务器执行以下操作:创建/删除目录(mkdir/rmdir)、显示当前路径(pwd)、切换目录(cd)、查看当前目录下的所有文件(ls)、上传单个/多个文件(put/mput)、下载单个/多个文件(get/mget)。 5) 服务传输模式。支持二进制(默认)及ASCII传输模式。用户可通过执行binary/ascii命令切换传输模式。 6) 站点计数与用户管理功能。统计服务器站点的当前活动用户数及自运行以来的访客总数。系统管理员可在服务器软件运行终端窗口执行以下命令: ) count current:当前活动用户数 ) count all:显示系统访客总数 ) list:显示当前在线的所有用户的用户名 ) kill username:强制删除某个用户。 ) quit:关闭ftp服务器软件。 7) 其他功能。对用户错误输入提供容错保护,即当用户输入错误命令时,需向客户端返回出错提示信息。 8) 可选功能(加分)。 ) 在服务器端为访问频率最高的文件建立缓冲区(可采用共享内存技术),以便提高服务器端的性能。 ) 实现断点续传功能。 () 客户端 1、 登录管理。客户端在shell中输入myftp username:passwd@ftp-server-ip:ftp-server-port登录ftpserver。若通过身份验证,服务器将向客户回显"you are client #."(#为第几位用户)并显示ftp命令输入提示符myftp>;否则显示"username doesn't exist or password is error!"。 2、 文件操作命令。在客户端执行基本文件操作:创建/删除目录(lmkdir/lrmdir)、显示当前路径(lpwd)、切换目录(lcd)、查看当前目录下的所有文件(dir)、上传单个/多个文件(put/mput)、下载单个/多个文件(get/mget)。 3、 退出系统。用户执行”quit”断开连接,结束当前FTP会话。 () 作业提交要求 1、 将客户端源码和服务器源码分别放入命名为ftpclient和ftpserver文件夹中,连同试验报告打包,命名格式为:学号1#学号2...。 2、 答辩的ppt,包括:设计思路和流程图(包括主要数据结构及其说明、测试数据的设计及测试结果分析) 3、实验体会(包括实验中遇到的问题及解决过程、产生的错误及原因分析)
1 下一页