1.第三方库commons-net-*.jar
打开Download Apache Commons Net下载jar包。
2.telnet 客户端
private void connectToServer(String server) {
TelnetClient telnetClient = new TelnetClient("VT220");
try {
telnetClient.connect(server);
InputStream remoteInput = telnetClient.getInputStream();
OutputStream remoteOutput = telnetClient.getOutputStream();
// ReadThread线程监听输入,并输出到System.err
ReadThread readThread = new ReadThread(remoteInput);
readThread.start();
String line = null;
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
PrintWriter pw = new PrintWriter(remoteOutput);
while ((line = reader.readLine()) != null) {
if (line.equals("exit")) {
break;
}
pw.println(line);
pw.flush();
System.err.println("request: " + line);
}
pw.close();
readThread.pause();
readThread.join();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (telnetClient.isConnected()) {
try {
telnetClient.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
private static class ReadThread extends Thread {
private InputStream mInput;
private boolean mStopped;
public ReadThread(InputStream input) {
mInput = input;
}
@Override
public void run() {
try {
byte[] buffer = new byte[1024];
while (!mStopped) {
int len = mInput.read(buffer);
if (len != -1) {
System.err.print(new String(buffer, 0, len, "GBK"));
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (mInput != null) {
try {
mInput.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public void pause() {
mStopped = true;
}
}