Hallo,
ich habe das Problem mit einem selbstgeschriebenen Telnetprogramm auf Linux und Windows 2000 zurgreifen zu können. Aber leider nicht auf UNIX SCO. Ich habe anbei mein Script beigefügt. Wenn jemand eine Lösung hat würde ich mich riesig freuen.
DANKE
Manfred
import java.net.*;
import java.io.*;
public class EchoClient
{
public static void main(String[] args)
{
if (args.length != 1) {
System.err.println("Usage: java EchoClient ");
System.exit(1);
}
try {
Socket sock = new Socket(args[0], 23);
InputStream in = sock.getInputStream();
BufferedReader ins = new BufferedReader(new InputStreamReader(in));
OutputStream out = sock.getOutputStream();
//Timeout setzen
sock.setSoTimeout(3000);
//Ausgabethread erzeugen
OutputThread th = new OutputThread(ins);
th.start();
//Schleife für Benutzereingaben
BufferedReader conin = new BufferedReader(
new InputStreamReader(System.in));
String line = „“;
while (true) {
//Eingabezeile lesen
line = conin.readLine();
if (line.equalsIgnoreCase(„QUIT“)) {
break;
}
//Eingabezeile an ECHO-Server schicken
out.write(line.getBytes());
out.write(’\r’);
out.write(’\n’);
//Ausgabe abwarten
th.yield();
}
//Programm beenden
System.out.println(„terminating output thread…“);
th.requestStop();
th.yield();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}
ins.close();
out.close();
sock.close();
} catch (IOException e) {
System.err.println(e.toString());
System.exit(1);
}
}
}
class OutputThread
extends Thread
{
BufferedReader in;
boolean stoprequested;
public OutputThread(BufferedReader in)
{
super();
this.in = in;
stoprequested = false;
}
public synchronized void requestStop()
{
stoprequested = true;
}
public void run()
{
String aw = null;
int len;
try
{
while (!stoprequested)
{
try
{
char[] b = new char[254];
if ((len = in.read(b)) == -1)
{
break;
}
char[] b1 = new char[in.read()];
len=in.read(b1);
aw=null;
aw = new String (b1);
System.out.print(aw);
} catch (InterruptedIOException e) { }
}
} catch (IOException e) {
System.err.println("OutputThread: " + e.toString());
}
}
}