科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道用Java构建稳定的Ftp服务器 (2)

用Java构建稳定的Ftp服务器 (2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

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

作者:asklxf 来源:J2ME开发网 2008年6月23日

关键字: 网吧 网吧组网 网吧服务器架设

  • 评论
  • 分享微博
  • 分享邮件

  前面讨论了基本的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服务器负担不会过重。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章