- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机网络课程设计指导
计算机科学与信息学院
目录
FTP服务器的实现 3
一、课程设计目的 3
二、课程设计要求 3
三、课程设计原理 3
四、课程设计实现关键代码 5
FTP客户端的实现 12
一、课程设计目的 12
二、课程设计要求 12
三、课程设计原理 12
四、课程设计实现关键代码 17
聊天工具服务器的实现 41
一、课程设计目的 41
二、课程设计要求 41
三、课程设计原理 41
四、课程设计实现关键代码 44
聊天工具客户端的实现 48
一、课程设计目的 48
二、课程设计要求 48
三、课程设计原理 48
四、课程设计实现关键代码 51
Ping工具的实现 55
一、课程设计目的 55
二、课程设计要求 55
三、课程设计原理 55
四、课程设计实现关键代码 68
Tracert工具的实现 76
一、课程设计目的 76
二、课程设计要求 76
三、课程设计原理 76
四、课程设计实现关键代码 89
使用Wincap实现抓包并分析其中的数据包 106
一、课程设计目的 106
二、课程设计要求 106
三、课程设计原理 106
四、课程设计实现关键代码 110
FTP服务器的实现
一、课程设计目的
1.加深对TCP/IP协议的理解
2.了解FTP协议的工作原理以及它与TCP/IP协议的关系
3.掌握用Socket编写FTP协议的实现程序
二、课程设计要求
1.使用Socket编程实现FTP服务器端;
2.撰写课程设计报告。
三、课程设计原理
一.什么是FTP协议
FTP(File Transfer Protocol)协议是从一个系统向另一个系统传递文件的标准。FTP的目标是 促进文件和程序的共享 鼓励间接和含蓄的使用远程计算机 使用户不必面对主机间使用的不同的文件存储系统 有效和可靠地传输文件。FTP,是设计成让别的程序使用的尽管用户可以直接通过终端来使用。约有二十年,研究者调查了相当广泛的文件传输方法FTP经历了多次改变。1971年作了第一次定义整个的说参见RFC 114一个连接建立起来后,目标文件服务器必须运行一个FTP服务软件。FTPD是标准的FTP服务daemon。它的功能很简单:回复inetd守护进程提供Internet服务的守护进程的连接请求收到的连接请求,并满足这些要传输文件的请求。这个daemon在许多发行版的UNIX中是个标准。FTPD等待一个连接请求。当这样的一个请求到达时,FTPD请求用户登录。用户提供它的合法的登录名和口令或匿名登录。一旦登录成功,用户可以下载文件了。在某些情况下,如果服务器的安全允许,用户可以上载文件。
二、FTP 命令 FTP的主要操作都是基于各种命令基础之上的。常用的命令有:◆设置传输模式,它包括ASCⅡ(文本) ? 和BINARY ? 二进制模式◆目录操作,改变或显示远程计算机的当前目录(cd、dir/ls ? 命令)◆连接操作,open命令用于建立同远程计算机的连接;close命令用于关闭连接◆发送操作,put命令用于传送文件到远程计算机;mput命令用于传送多个文件到远程计算机◆获取操作,get命令用于接收一个文件;mget命令用于接收多个文件。
1.主函数设计
在主函数中,完成服务器端口的侦听和服务线程的创建。我们利用一个静态字符串变量initDir 来保存服务器线程运行时所在的工作目录。服务器的初始工作目录是由程序运行时用户输入的,缺省为C盘的根目录。
具体的代码如下:
public class ftpServer extends Thread{
private Socket socketClient;
private int counter;
private static String initDir;
public static void main(String[] args){
if(args.length != 0) {
initDir = args[0];
}else{ initDir = c:;}
int i = 1;
try{
System.out.println(ftp server started!);
//监听21号端口
ServerSocket s = new ServerSocket(21);
for(;;){
//接受客户端请求
Socket incomin
文档评论(0)