wjwjx123456 2013-09-10 09:28 采纳率: 0%
浏览 1780

android client使用 apache 第三方远程访问包TelnetClient,一直出错请众大神帮帮忙

error:
dalvikvm Could not find class 'org.apache.commons.net.telnet.TelnetClient',

referenced from method com.test.telnet.TelnetUtil.
AndroidRuntime FATAL EXCEPTION: Thread-1263
AndroidRuntime java.lang.NoClassDefFoundError:

org.apache.commons.net.telnet.TelnetClient
AndroidRuntime at com.test.telnet.TelnetUtil.(TelnetUtil.java:9)
AndroidRuntime at com.test.main.MainActivity$2.run(MainActivity.java:46)
AndroidRuntime at java.lang.Thread.run(Thread.java:841)

source:
package com.test.telnet;

import java.io.InputStream;
import java.io.PrintStream;
import org.apache.commons.net.telnet.TelnetClient;

public class TelnetUtil {

private TelnetClient telnet = new TelnetClient();

private InputStream in;  

private PrintStream out; 

private String port;

private String ip;

public TelnetUtil(String ip, String port){

    this.ip=ip;

    this.port=port;

}

 /** 
 * @return boolean 连接成功返回true,否则返回false 
 */  

public boolean connect() {  

    boolean isConnect = true;  

    try { 

        telnet.connect(ip, Integer.parseInt(port));  

        in = telnet.getInputStream();  

        out = new PrintStream(telnet.getOutputStream());  

    } catch (Exception e) {  

        isConnect = false;  

        e.printStackTrace();  

        return isConnect;  

    }

    return isConnect;  
}  

protected void disconnect() { 

    try {  

        telnet.disconnect();  

    } catch (Exception e) {

        e.printStackTrace();  

    }  

}  

public String readUtil() { 

    try {  

        StringBuffer sb = new StringBuffer();  

        char ch=0;

        while (true) {  

            ch = (char) in.read();

            sb.append(ch);

            if(sb.length()>=512){  //----buffer size = 512*2 byte = 1 kB---
                                   //synchronized block  
                return sb.toString();

            }
        }  

    } catch (Exception e) {  

        e.printStackTrace();  

    } 

    return null;  

}  

private void write(String value) { 

    try {  

        out.println(value);

        out.flush();  

    } catch (Exception e) { 

        e.printStackTrace(); 

    }  

}  

/**
 * 向服务器发送命令
 * @param string
 */

public String sendCommand(String command) {  

    try {  

        write(command);

    } catch (Exception e) {

        e.printStackTrace();

    }  

    return null;  

}  

}

线程内调用:

TelnetUtil tu = new TelnetUtil("218.56.40.136","1602");
tu.connect();
tu.sendCommand("client");
res=tu.readUtil();

  • 写回答

1条回答 默认 最新

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2023-01-31 07:25
    关注

    您的错误消息表明您的Android应用程序找不到类"org.apache.commons.net.telnet.TelnetClient"。该类是TelnetClient的主类,因此它需要在编译您的应用程序时可用。


    检查您的项目中是否已添加org.apache.commons.net包。如果没有,请使用maven或其他方法将其添加到您的项目中。

    评论

报告相同问题?

悬赏问题

  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 有没有帮写代码做实验仿真的
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥30 vmware exsi重置后登不上
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题