2016-12-27 7 views
0

Я использую следующую библиотеку ...Unknown Source Исключение при использовании addProtocolCommandListener с библиотекой org.apache.commons.net.telnet.TelnetClient

org.apache.commons.net.telnet.TelnetClient; 

У меня есть этот кусок кода, который я использую для подключитесь к серверу.

import org.apache.commons.net.*; 
import org.apache.commons.net.ProtocolCommandListener 
import org.apache.commons.net.ftp.FTPSClient 
import org.apache.commons.net.telnet.TelnetClient; 


String server = "some server"; 
String result = ''; 

//Create the telnet client and connect on port 43 
TelnetClient telnetClient = new TelnetClient(); 
telnetClient.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out))); 
telnetClient.connect(server, 43); 

Когда я добраться до линии с ....

telnetClient.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out))); 

я получаю следующее исключение ....

Caught: java.lang.NullPointerException Disconnected от цели VM, адрес: '127.0.0.1:3140', транспорт: 'socket' java.lang.NullPointerException на org.apache.commons.net.SocketClient.addProtocolCommandListener (SocketClient.java:772) на org.apache.c ommons.net.SocketClient $ addProtocolCommandListener.call (Неизвестный источник)

Кто-нибудь знает, почему я могу получить это исключение? Если я удаляю строку, я не исключаю эту строку. И если я использую клиент FTPS, у меня нет этой проблемы с SFTP из той же библиотеки!

Привет, спасибо за ответ, вот простой пример некоторых поддерживаемых клиентов в библиотеке, я думаю, возможно, что whois и ftp-клиент не поддерживают список!

import org.apache.commons.net.*; 
    import org.apache.commons.net.ProtocolCommandListener; 
    import org.apache.commons.net.ftp.FTPClient; 
    import org.apache.commons.net.telnet.TelnetClient; 
    import org.apache.commons.net.whois.WhoisClient; 
    import java.io.PrintWriter; 

    public class WhoisExample 
    { 
     public static void main(String args[]) 
     { 
      try { 
       WhoisClient whoisClient = new WhoisClient(); 
       whoisClient.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out))); 
      } 
      catch(Exception e) { 
       System.out.println("whois client exception" + e); 
      } 

      try { 
       TelnetClient telnetClient = new TelnetClient(); 
       telnetClient.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out))); 
      } 
      catch(Exception e) { 
       System.out.println("telnet client exception" + e); 
      } 

      try { 
       FTPClient ftpClient = new FTPClient(); 
       ftpClient.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out))); 

       System.out.println("no ftp client exception here !"); 
      } 
      catch(Exception e) 
      { 
       System.out.println("ftp client exception" + e); 
      } 
     } 
    } 
+0

Привет, у меня есть вопрос: Как вы используете этот код? Используете ли вы JRE или JDK? Похоже, что mesage «Unkonw code» отображается, если вы используете JRE или с Ant, а параметр debug - false. Изменение, которое может дать вам больше информации. С другой стороны, _NullPointerException_ должен указывать, что telnetClient имеет значение NULL. Не могли бы вы разместить полную трассировку стека и/или заполнить фактический код? Cheers – sdsc81

+0

, поэтому я думаю, что следующий код покажет 3 разных примера, поддерживаемых библиотекой .... – user6461581

+0

какая версия общедоступной сети вы используете? –

ответ

0

Я зарегистрировал ошибку в сети Apache и решил, что это не проблема.

В основном ..... «Некоторые клиенты в настоящее время не поддерживают прослушиватель ProtocolCommand».

Вы можете узнать больше по следующей ссылке ....

https://issues.apache.org/jira/browse/NET-608