用户名: 密码: 免费注册 忘记密码? 加入收藏 | 设为首页
用Java实现FTP服务器
学院首页 | 资讯中心 | 服务器软件 | 系统工具 | 系统软件 | 办公软件 | 聊天软件 | 多 媒 体 | 网页制作 | 网站运营 | 平面设计
艺术欣赏 | 数据库软件 | 程序开发 | 网络组建 | 源码下载 | 驱动下载 | 软件下载 | 电脑安全 | IT创业 | IT博客 | IT社区
硬件数码导航 | 硬件频道 | 本本频道 | MP3频道 | 相机频道 | 手机频道 | 显卡频道 | LCD 频道 | 音箱音频 | 行情 | 评测 | 导购
学院专题 软件 - 系统 - 办公 - 聊天 - 多媒体 - 网页制作 - IT创业 - 运营 - 平面 - 设计欣赏 - 数据库 - 程序 - 服务器 - 组网

 当前位置: 首页>>技术频道>>程序>>JAVA教程>>正文

用Java实现FTP服务器

日期:2006-9-15 4:23:41     来源:JR   编辑:   

FTP 命令

   FTP 的主要操作都是基于各种命令基础之上的 。 常用的命令有:

   ◆ 设置传输模式,它包括ASCⅡ(文本) 和BINARY 二进制模式;


   ◆ 目录操作,改变或显示远程计算机的当前目录(cd、dir/ls 命令);

   ◆ 连接操作,open命令用于建立同远程计算机的连接;close命令用于关闭连接;

   ◆ 发送操作,put命令用于传送文件到远程计算机;mput 命令用于传送多个文件到远程计算机;

   ◆ 获取操作,get命令用于接收一个文件;mget命令用于接收多个文件 。

   编程思路

   根据FTP 的工作原理,在主函数中建立一个服务器套接字端口,等待客户端请求,一旦客户端请求被接受,服务器程序就建立一个服务器分线程,处理客户端的命令 。 如果客户端需要和服务器端进行文件的传输,则建立一个新的套接字连接来完成文件的操作 。

   编程技巧说明

   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 incoming = s.accept();
//创建服务线程
new ftpServer(incoming,i).start();
i++;
}
}catch(Exception e){}
}
2. 线程类的设计

   线程类的主要设计都是在run()方法中实现 。 用run()方法得到客户端的套接字信息,根据套接字得到输入流和输出流,向客户端发送欢迎信息 。

   3. FTP 命令的处理

   (1) 访问控制命令

   ◆ user name(user) 和 password (pass) 命令处理代码如下:

if(str.startsWith("USER")){
user = str.substring(4);
user = user.trim();
out.println("331 Password");}
if(str.startsWith("PASS"))
out.println("230 User "+user+" logged in.");

   User 命令和 Password 命令分别用来提交客户端用户输入的用户名和口令 。

   ◆ CWD (CHANGE WORKING DIRECTORY) 命令处理代码如下:

if(str.startsWith("CWD")){
String str1 = str.substring(3);
dir = dir+"/"+str1.trim();
out.println("250 CWD command succesful");
}

   该命令改变工作目录到用户指定的目录 。 gigi_miao
  ▼ 下一篇新闻 用Java设计下载软件
  ▲ 上一篇新闻 java文件操作大全        网友发表观点请进入=>



我要纠错】【进入论坛交流】【关闭此页

文章搜索
   
最新文章

 
·千名爱好者参与首届PHP调查
·腾讯称QQ通讯信息密钥加密 不会被
·雅虎反超Google排名搜索第二
·中搜等十余家IT企业因流氓软件被
·盛大前员工克隆网游装备获暴利被
·凤凰网将向迅雷提供娱乐及宽带内
·信产部出手规范 新浪式企业法律架
·雅虎中国称旗下软件早已没有流氓
·中搜停止划词搜索与流氓软件决裂

广告赞助
相关文章 相关教程下载
焦点信息
·腾讯称QQ通讯信息密钥加密 不会被监听
·信产部出手规范 新浪式企业法律架构不得不改
·盛大前员工克隆网游装备获暴利被追刑责
·凤凰网将向迅雷提供娱乐及宽带内容
·雅虎中国称旗下软件早已没有流氓问题
·雅虎反超Google排名搜索第二
网友评论:(评论内容只代表网友观点,与本站立场无关!)
发表评论     Hard168社区推荐帖子
姓 名: *
* 请网友遵纪守法并注意语言文明。
IT人物推荐

王江民
马云
柳传志



关于本站    联络方式    广告服务    意见信箱    加入收藏   设为首页    -
本站部分内容来自网上,如有侵权部分,敬请告知,我们会在24小时内给予处理
版权所有:Hard168.Com,如需转载文章请与我们取得联系
京ICP备05063857号 Designed by Hard168.Com
用Java实现FTP服务器