奥运倒计时: 设为首页 加入收藏
点击进入太平洋安全网首页
论坛登陆 用户名: 密码:
首页 新闻资讯 文章中心 黑客资源 黑客点睛 安全防护 软件下载 动画教程 会员咨询 技术问答 论坛社区
文章 下载 图片
资源  
 您现在的位置: 太平洋安全网 >> 资源 >> 程序设计 >> JAVA >> 正文

用Java实现FTP服务器

作者:放弃    资源来源:网上采集    点击数:    更新时间:2008-3-30

            
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()方法得到客户端的套接字信息,根据套接字得到输入流和输出流,向客户端发送欢迎信息。

[NextPage]

 

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");
}

◆ CDUP (CHANGE TO PARENT DIRECTORY) 命令处理代码如下:

if(str.startsWITh("CDUP")){
int n = dir.lastIndexOf("

[1] [2] [3] 下一页

资源录入:放弃    责任编辑:放弃 
  • 上一资源资源:

  • 下一资源资源:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
       推荐文章
    推荐资源Windows 2000 设置Internet连接属性
    推荐资源Windows 2000 建立Internet连接
    推荐资源Windows 2000 浏览器窗口简介
    推荐资源Windows 2000 浏览器功能的增强
    推荐资源Windows 2000 快速使用共享资源
    推荐资源Windows 2000 软件资源共享
    推荐资源Windows 2000 硬件资源共享
    推荐资源Windows 2000 WINS服务器配置
       热门文章
    推荐资源Windows 2000 设置Internet连接属性
    推荐资源Windows 2000 建立Internet连接
    推荐资源Windows 2000 浏览器窗口简介
    推荐资源Windows 2000 浏览器功能的增强
    推荐资源Windows 2000 快速使用共享资源
    推荐资源Windows 2000 软件资源共享
    推荐资源Windows 2000 硬件资源共享
    推荐资源Windows 2000 WINS服务器配置
        本站推荐

    关于我们 | 联系方法 | 招聘信息 | 加入会员 | 诚征代理 | 广告服务 | 欢迎投稿 | 站长信箱 | 友情链接 | 网站地图
    24小时客服:0374-7126138 技术支持:0374-7126138 投诉电话:0374-7967536
    客服QQ:883039 售后QQ:827520 技术QQ:78305152 投稿-商业:576880739
    Copyright 太平洋科技 2003-2007 版权所有 All Rights Reserved
      许可证号:豫ICP备07005385号