网络程序设计 实验报告
实验名称: winsock 编程接口实验 实验类型: 设计型
指导教师: 贾浩 专业班级: 信安1204 姓 名: 马灿 学 号: 20123252 电子邮件: 实验地点: 东6 E307
实 验 日 期:
实验成绩:__________________________
1 / 16
实验七 网络程序设计综合实验
摘要:本课程设计包含了文件传输协议的简单设计与实现。文件传送协议是一
种最基本的应用层协议按照客户/服务器的模式进行工作,提供交互式的访问,是INTERNET使用最广泛的协议之一。文件传输协议的简单设计与实现建立在计算机网络实验环境TCP/IP网络体系结构之上,使用socket编程接口编写两个程序,分别为客户程序(client.c)和服务器程序(server.c),利用了已有网络环境设计并实现简单应用层协议。本设计包括了具体设计任务,基本思路及所涉及的相关理论,设计流程图,调试过程中出现的问题及相应解决办法,实验运行结果,核心程序,个人体会及建议等。
关键词:SOCKET编程,程序
一.问题描述及设计思路 1.1 问题描述 服务器端:
1.指定一个目录作为FTP目录(之后所有的文件操作均在此目录下进行) 2.接收客户端的命令请求并提供相应的服务。
客户端:完成与FTP用户的人机界面,以命令的方式向服务器请求服务,主要的命令有: 1.CONNECTIP地址端口号
2. 指定FTP服务器的IP地址和端口号,连接到服务器。 响应:连接成功/失败。
3.LOGIN用户名
4. 用户登录(假设在服务器端有用户管理功能)
5.响应:若用户不存在,提示“无此用户”;若用户存在,提示“密码:”; 用户输入密码后,若正确提示“登录成功”;若不成功,提示“密码错误”。 6.3.DIR
7.显示FTP服务器的FTP目录的文件列表(假设无子目录) 8.响应:目录列表(只要文件名即可)。 9.4.GET文件名
10. 将FTP目录下的文件下载到本地,支持断点续传 11. 响应:传送成功/失败/无此文件。 12. 5.PUT文件名
13. 将本地文件上传到FTP目录,支持断点续传 14. 响应:传送成功/失败/无此文件。
15. 6.HELP(客户端和服务器端均有该功能) 16.实验环境 本次实验采用MFC工程工程采用MFC对话框界面工程名称为MyServer和。 17. 详细设计过程
1.2 设计思路 1. FTP协议基础
2 / 16
FTP 是 TCP/IP 协议组中的协议之一,该协议是Internet文件传送的基础,它由一系列规格说明文档组成。目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据。简单的说,FTP就是完成两台计算机之间的拷贝,从远程计算机拷贝文件至自己的计算机上或从自己计算机中拷贝至远程计算机上。在TCP/IP协议中FTP标准命令TCP端口号为21,Port方式数据端口为20。 2. 网络文件传输原理
在通信的时候主要可以分为两个部分。一个部分是用于传送控制信息,例如发送文件的请求文件的名称、大小等。采用MFC所提供的CSocket类的串行化技术来实现,而另一个部分就是文件的传输部分。对于文件的传输,由于数据量相对来说比较大,使用两个线程。一个用于发送,一个用于接收。这两个部分在具体实现的时候分别建立有自己的套接字。FTP编程基础 3. FTP传输原理
FTP协议使用两条单独的TCP连接一条专用于发送FTP命令另一条则专用于传递数据。初始建立连接时服务器在21号端口上接收来自客户端的命令连接。当需要传送数据时文件列表、文件数据等客户端向服务器发出Port命令并进入监听状态等待来自服务器的数据连接请求。 总体功能模块图 服务器端
功能说明:
线程控制:线程类别:选择线程类别,单线程或多线程传送文件 线程数设置:若选择多线程,可自行设置线程数目, 若选择单线程,则默认线程数目为1 ② 启动服务器:设置好线程控制后,点击“启动”按钮启动服务器端 ③ 选取文件:选择要发送给客户端的文件
3 / 16