Newsgroup: it.comp.java
Titolo: telnet client in java

Sto provando a fare un client per telnet scritto in java.
Ho provato a usarlo per connettermi a server SMTP e mi funziona
perfettamente, ma con TELNET non riesco.
Appena connesso al server TELNET, questo mi invia le varie intestazioni
separate da un carattere di Newline.
Mi sembra di capire che quando arriva tale carattere, il socket genera
l'evento (in.readLine()), infatti mi tocca a fare piu letture per leggere
tutte le intestazioni.
Quando sono io a mandare le stringhe al server, uso come caratteri di new
line la sequenza "\r\n" che penso corrisponda a carriage return/new line. E'
esatto?
Penso che siano proprio questi caratteri a creare problemi, infatti sebbene
riesca a inserire il nome utente non mi viene richiesta la password, come se
non avessi mandatoi giusti caratteri di new line.
Dov'è l'errore?
Questa è parte del codice del client:
public static void main(String[] args) throws IOException {
............
.....dichiarazioni varie e connessione al server (porta 23 - telnet).......
..........
while (true)
{
   userInput = stdIn.readLine(); //legge la stringa da inviare dalla
tastiera
   out.println(userInput + "\r\n");  //invia al server la stringa
   response=in.readLine();   //attende e legge la risposta del server
   System.out.println("risposta: " + response );   //scrive a video la
risposta
  }
}
Se ho fatto cazzate non bestemmiatemi dietro, sto imparando java solo ora.
Grazie
- Marticos -

 esatto?
Mi sa che la cazzata te la dico io quindi non bestemmiarmi dietro!! Non č
che al posto di \r\n devi mandare solo \n?

 che al posto di \r\n devi mandare solo \n?
Qualcosa mi dice che se fosse così semplice forse ci avrebbe provato già
anche lui :-)

 ha scritto nel messaggio
news:FvVB9.1872$q43.1...@news.edisontel.com...

Gestire il protocollo Telnet non è così semplice... subito dopo la connessione socket, è
necessario gestire una fase di negoziazione delle "Telnet Options", durante la quale
client e server si scambiano informazioni riguardo le capacità dei rispettivi emulatori di
terminale, accordandosi su un set di capacità comune, una specie di minimo comune
denominatore. C'è poi da gestire anche l'interpretazione dei codici di escape tipici di un
terminale VT100 (il più comune), sempre che durante la fase delle options il client non
abbia specificato delle opzioni particolari.
Per avere maggiori informazioni a riguardo è possibile consultare le RFC:
1) 
http://www.ietf.org/rfc/rfc0854.txt
Qui trovate le specifiche complete del protocollo Telnet
2) 
http://www.ietf.org/rfc/rfc0855.txt
Qui invece si parla di come utilizzare le Telnet Options
3) 
http://www.iana.org/assignments/telnet-options
Questo invece è un vero e proprio indice di tutte le opzioni che possono essere
implementate in un server telnet, ciascuna con la propria RFC di riferimento.
In bocca al lupo (^-^)
--
"Lascia che gli eventi seguano la propria strada"
(per rispondere personalmente leva IlDitoDalCulo.)

 return/new line. E' esatto?
L'unica e' guardare la RFC e seguire per filo e per segno specifiche ed 
esempi. Oppure usare una implementazione gia' fatta.
-- 
Life's something u don't get out alive..
ObjectZone - 
http://space.tin.it/computer/csadun

 anche lui :-)
Infatti avevo già provato, e ho anche già letto le rfc di telnet. Continuerò
a cercare. devo riuscirci x forza !


Le specifiche parlano di impostare opzioni che comunque non cambiano i
comandi standard (come il carattere di new line, che dalle rfc è proprio
/r/n)

 
Bel modo di evitare i robot!  :D
Mi hai fatto scompisciare per mezz'ora! Ti offendi se ne uso uno simile 
anch'io?