我正在尝试将Apache MINA FTP服务器嵌入到我的Scala应用程序中,但是在实现时遇到了一些问题。我使用的是Apache FtpServer 1.05版本,并在他们的网站上找到了几个示例,但在转换为Scala代码后却无法正常工作。
以下是我的代码:
代码是有效的,服务器似乎在端口2221上启动,但我无法连接到它:
以下是我的代码:
package aperture
import org.apache.ftpserver.listener.ListenerFactory
import org.apache.ftpserver.ftplet._
import org.apache.ftpserver.{FtpServerFactory, FtpServer}
import java.io.File
import org.apache.ftpserver.usermanager.{UserFactory, SaltedPasswordEncryptor, PropertiesUserManagerFactory}
object Main {
def main(args: Array[String]) {
val serverFactory: FtpServerFactory = new FtpServerFactory()
val listenerFactory: ListenerFactory = new ListenerFactory()
listenerFactory.setPort(2221);
listenerFactory.setServerAddress("localhost")
listenerFactory.setImplicitSsl(false);
serverFactory.addListener("default", listenerFactory.createListener())
val userManagerFactory: PropertiesUserManagerFactory = new PropertiesUserManagerFactory()
userManagerFactory.setFile(new File("myusers.properties"))
userManagerFactory.setPasswordEncryptor(new SaltedPasswordEncryptor())
val userManager: UserManager = userManagerFactory.createUserManager()
val userFact: UserFactory = new UserFactory()
userFact.setName("myNewUser")
userFact.setPassword("secret")
userFact.setHomeDirectory("ftproot")
val user: User = userFact.createUser()
userManager.save(user)
serverFactory.setUserManager(userManagerFactory.createUserManager())
// start the server
val server: FtpServer = serverFactory.createServer()
server.start()
}
}
代码是有效的,服务器似乎在端口2221上启动,但我无法连接到它:
ftp:localhost:2221:没有与主机名关联的地址
和ftp:127.0.0.1:2221:名称或服务未知
。有什么想法吗?