ok, mi trovocon il tuo ragionamento. acneh io ho i metodi per leggere , scrivere e chiudere il socket ieri ho postato solo quello della connessione perchè mi sembrava non andasse bene a livello logico.
adesso il mio metodo scrivi è uguale al tuo se non fosse per i nomi asseganti alle variabile output stream, in questo caso se richiamo sull'oggetto StringSocketIO prima il metodo chemi apre la connessione e poi quello che invia al server la stringa mi lancia un'eccezione perchè la variabile output è stata dichiarata fuori ma è stata inizializzata nel metodo per la connessione.
comuque scusami per la "stupidità" ma perchè il hai usato inserito tutto nel costruttore e non hai fatto un metodo per la connessione??
grazie mille