Olá a todos.
Estou fazendo uma conexão com um servidor unix, através da api commons-net
estou usando a classe RLoginClient para realizar a conexao, ela me da a opção de
passar o usuário remoto, usuário local e o tipo de terminal, mais não oferece a
opção de passar o password para a autenticação, eu necessito passar o password
e um nome de uma rotina para ser executada.
public class IOUtil {
public static final void readWrite(final InputStream remoteInput,
final OutputStream remoteOutput, final InputStream localInput,
final OutputStream localOutput){
//declara Thread para leitura e escrita
Thread reader, writer;
//instacia nova thread para leitura
reader = new Thread(){
//inicia o processamento da thread de leitura
@Override
public void run()
{
int ch;
try
{ //testa se o processo não foi interrompido
//e se o retorno do servido é diferente de -1(se ha retorno)
while (!interrupted() && (ch = localInput.read()) != -1)
{
//envia o conteudo para o servidor
Scanner s = new Scanner(System.in);
remoteOutput.write(ch);
remoteOutput.flush();
}
}
catch (IOException e)
{
//e.printStackTrace();
}
}
};
//instacia uma nova thread para gravacao
writer = new Thread()
{
@Override
public void run(){
try
{
//copia o conteudo do servidor(remoteInput) para a aplicacao(localOutput)
Util.copyStream(remoteInput, localOutput);
}
catch (IOException e)
{
e.printStackTrace();
System.exit(1);
}
}
};
//seta a prioridade da thread de gravação maior
writer.setPriority(Thread.currentThread().getPriority() + 1);
//inicia a thread de gravacao
writer.start();
reader.setDaemon(true);
reader.start();
try{
writer.join();
reader.interrupt();
}
catch (InterruptedException e)
{
}
}
}
classe teste
public class teste {
public static void main(String[] args) throws IOException
{
String server, localuser, remoteuser, terminal;
RLoginClient client;
client = new RLoginClient();
server = "x.x.x.x";
localuser = "xxxxx";
remoteuser = "xxxxx";
terminal = "vt100";
try
{
client.connect(server);
}
catch (IOException e)
{
System.err.println("Could not connect to server.");
e.printStackTrace();
System.exit(1);
}
try
{
client.rlogin(localuser, remoteuser, terminal);
}
catch (IOException e)
{
try
{
client.disconnect();
}
catch (IOException f)
{}
e.printStackTrace();
System.err.println("rlogin authentication failed.");
System.exit(1);
}
IOUtil.readWrite(client.getInputStream(), client.getOutputStream(),
System.in, System.out);
try
{
client.disconnect();
}
catch (IOException e)
{
e.printStackTrace();
System.exit(1);
}
System.exit(0);
}
}
aguardo uma ajuda, já não sei o que fazer pois sou iniciante em java.