java搭建ftp服务器_[译文]使用Java搭建FTP服务器

[译文]使用Java搭建FTP服务器

FtpServer是为了轻松嵌入到你的系统中而设计的,启动和运行基本服务器非常简单,就像下面这样

FtpServerFactory serverFactory = new FtpServerFactory();

// 启动服务

FtpServer server = serverFactory.createServer();

server.start();

想要让上面的代码运行,你需要将以下的jar包引入到你的工程中

mina-core, 2.0-M3 or later

slf4j-api

A SLF4J implementation of your choice, for example slf4j-simple-1.5.3.jar

ftplet-api

ftpserver-core

现在,您可能希望根据您的特定需求配置服务器。例如,您可能希望在非特权端口上运行,以便在Linux / Unix上以root身份运行。为此,您需要配置一个监听器(listener)。监听器是FtpServer的一部分,用于完成网络管理。默认情况下,会创建名为“default”的监听器,但您可以根据需要添加任意数量的监听器,例如,您可以提供一个在防火墙外部使用的监听器,一个在内部使用的监听器。

现在,让我们配置默认监听器等待连接的端口。

FtpServerFactory serverFactory = new FtpServerFactory();

ListenerFactory factory = new ListenerFactory();

// 设置监听器端口

factory.setPort(2221);

// 替换默认监听器

serverFactory.addListener("default", factory.createListener());

// 启动服务

FtpServer server = serverFactory.createServer();

server.start();

现在,让我们使客户端可以使用FTPS(FTP 使用 SSL进行通讯)作为默认监听器。

FtpServerFactory serverFactory = new FtpServerFactory();

ListenerFactory factory = new ListenerFactory();

// 设置监听器端口

factory.setPort(2221);

// 定义一个ssl配置

SslConfigurationFactory ssl = new SslConfigurationFactory();

ssl.setKeystoreFile(new File("src/test/resources/ftpserver.jks"));

ssl.setKeystorePassword("password");

// 将ssl配置添加到监听器中

factory.setSslConfiguration(ssl.createSslConfiguration());

factory.setImplicitSsl(true);

// 替换默认的监听器

serverFactory.addListener("default", factory.createListener());

// 设置用户信息

PropertiesUserManagerFactory userManagerFactory = new PropertiesUserManagerFactory();

userManagerFactory.setFile(new File("myusers.properties"));

serverFactory.setUserManager(userManagerFactory.createUserManager());

// 启动服务

FtpServer server = serverFactory.createServer();

server.start();

到这里就差不多了,这是你通常需要的基础知识。有关更多高级功能,请查看我们的配置文档。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值