天天加油 - 助您成才
用Java构建稳定的Ftp服务器 (2)
您正在看的Java是:用Java构建稳定的Ftp服务器 (2)。

前面讨论了基本的FTP协议和会话,下面我们用Java来开发一个简单的Ftp服务器

为了简单起见,我们只设计两个类:一个FtpServer类用于监听,一个FtpConnection类代表一个用户连接,每个连接都使用一个线程。

FtpServer负责初始化ServerSocket并监听用户连接,它接受一个参数来初始化Ftp服务器的根目录:

package jftp;
import Java.net.*;

public class FtpServer extends Thread {
    public static final int FTP_PORT = 21; // default port
    ServerSocket ftpsocket = null;

    public static void main(String[] args) {
        if(args.length!=1) {
            System.out.println("Usage:");
            System.out.println("Java FtpServer [root dir]");
            System.out.println("nExample:");
            System.out.println(
"Java FtpServer C:\\ftp\\");
            return;
        }
        FtpConnection.root = args[0];
        System.out.println("[info] ftp server root: " + FtpConnection.root);
        new FtpServer().start();
    }

    public void run() {
        Socket client = null;
        try {
            ftpsocket = new ServerSocket(FTP_PORT);
            System.out.println("[info] listening port: " + FTP_PORT);
            for(;;) {
                client = ftpsocket.accept();
                new FtpConnection(client).start();
            }
        }
        catch(Exception e) { e.printStackTrace(); }
    }
}

每当有一个客户连接,就创建一个新的FtpConnection线程以便为用户服务,你可以很方便地限制最大连接数以确保Ftp服务器负担不会过重。



  • 相关教程
  • 点击排行
  • 推荐阅读
  • Java《用Java构建稳定的Ftp服务器 (2)》用Java构建稳定的Ftp服务器 (2)
    关于我们 | 版权申明 | 广告服务 | 友情链接 | 网站地图 | 使用帮助 | ©2006-2008 TTADD.COM