проверка того, действительно ли запущен встроенный Mina FTPServer

я программно написал код запуска сервера apache следующим образом:

public void _start()
{
    String Path = "C:\\Dokumente und Einstellungen\\andjock\\Desktop\\ab";

    File ftpDirectory = new File(Path);
    ftpDirectory.mkdirs(); 


    FtpServerFactory serverFactory = new FtpServerFactory();
    ListenerFactory factory = new ListenerFactory();
    factory.setPort(2221); 

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

        PropertiesUserManagerFactory userFactory = new PropertiesUserManagerFactory();
        File userFile = new File("C:\\Dokumente und Einstellungen\\andjock\\Desktop\\ftpusers.properties");
        userFactory.setFile(userFile);


        UserManager um = userFactory.createUserManager();


        BaseUser user = new BaseUser();
        user.setName("myNewUser");
        user.setPassword("secret");
        user.setHomeDirectory(Path);


        um.save(user);

        serverFactory.setUserManager(um);

        FtpServer ftpServer = serverFactory.createServer();
        ftpServer.start();


    } catch (Exception e) {

        Logger  LOGGER = Logger.getLogger(TestapacheFtpServer.class);
        LOGGER.log(Level.FATAL, "Unable to start test ftpserver", e);
    }

Как я узнаю, что сервер действительно работает?

как я могу получить доступ к этому серверу apache «извне»?

Я пытался использовать telnet и ftp (ftp 127.0.0.1) на своей машине, но получил:

FTP: подключение: неизвестный код ошибки

у кого-нибудь есть идеи? я просто не хочу полагаться на журнал jvm, а скорее тестирую его и получаю доступ к нему


person arthur    schedule 16.05.2011    source источник


Ответы (1)


я разбираюсь!! я написал клиент, используя клиентскую библиотеку FTP (библиотека apache commons), чтобы проверить подключение и просмотреть файлы; что-то такое

FTPClient ftp = new FTPClient();


    ftp.connect(InetAddress.getLocalHost(), 2221);// or "localhost" in your case
      String loging_success = ftp.login("myNewUser", "secret") == true ? "success" : "failed"; 
      System.out.println("login: "+ loging_success);


      FTPFile[] files = ftp.listFiles();  
      System.out.println("Listed "+files.length+" files.");
      for(FTPFile file : files) {
       System.out.println(file.getName());
      }
person arthur    schedule 18.05.2011