重庆大学linux课程设计报告 下载本文

1需求分析

1.1系统目的

Linux 作为一个先进的操作系统,其发展越来越快,应用领域也越来越广泛。在学习了《linux内核设计与实现》之后,亲自设计并实现linux下的编程,不仅有助于巩固学过的知识,更能扩宽自己的视野,增强动手实践能力。

1.2课程要求

Linux下基于Socket的文件传输程序设计,包括对文件进行管理,包括上传,下

载,删除文件,重命名,支持多线程等。

1.3开发工具与开发平台

开发工具:C语言 开发平台:Linux

2系统设计

2.1系统功能

此软件的主要功能有: 1. 2.

实现在linux环境下的基于socket文件传输; 对linux环境下的文件进行简单管理。

其中客户端与服务器的所要完成的具体功能如下: 客户端:

(1) 连接服务器,并发送指令给服务器; (2) 接收并识别服务器发来的信息;

(3) 通过不同指令实现文件的查看,下载,和上传。 服务器:

(1) 能查看本地的文件,并进行简单的管理,如删除,重命名等 (2) 接收来自客户端的连接请求,并赋予客户端不同的操作权限;

(3) 识别客户端的发来的指令,实现与客户端间的文件下载和上传。

2.2系统结构

软件由服务器端和客户端两部分组成,服务器端监听客户对某个特定端口的网络连接请求,并与之建立连接,这样,这个客户的数据就可以发送到服务器。客户端的任务是将用户的指令发送给服务器,且客户端可以有多个。

客户端运行时将立即向服务器的某个端口发送连接请求,待连接建立后则由用户的发送线程发送该用户的指令到服务器。服务器端的主线程负责监听某个端口,接收用户的发送线程发出的指令。在客户端,用户接收线程接收服务器发送的数据,由用户端主线程进行处理后显示。

2.3客户端指令

查看服务器下指定路径下的所有文件: look_up;

下载服务器下指定路径下的指定文件:download filename; 上传客户端下指定路径下的指定文件:senddata filename; 退出连接: end ;

2.4服务器指令

运行服务器后,系统提示指令

查看所有文件请输入 1 ; 重命名文件请输入 2 ; 删除文件请输入 3; 开启服务监听模式 4;

2.5数据流设计

3测试结果

服务器进行文件管理的操作

服务器监听多个客户端并相应其指令

客户端0连接服务器