PDA

View Full Version : [java]Problema stream con socket ssl


darioritondo
20-06-2010, 22:10
Ciao a tutti,
negli ultimi giorni mi sono imbattuto in uno strano problema. Sto creando un applicazione client-server che lavora con i socket ssl.
Spiego per grandi linee quello che succede:

1.attivo il server (multithread) che si mette in attesa di richieste dai client;
2.appena arriva la richiesta da un client fa partire un thread associato al client e si rimette in ascolto;

Ho gestito il tutto creando una classe ServerThread diversa dal server che implementa il metodo run() che parte appena viene chiamata la start() del thread associato al client. All'interno della run() gestisco la comunicazione tra client e server e quindi apro gli stream in lettura e in scrittura (ObjectOutputStream e ObjectInputStream poichè passo oggetti tra client e server). Qui avviene il problema: non so come mai ma nella classe ServerThread non crea gli stream necessari per la comunicazione.

L'errore che mi da è questo al momento in cui cerco di passare un oggetto dal client e attendo la risposta dal server:

java.io.StreamCorruptedException: invalid stream header: 4C6F6769

at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
at java.io.ObjectInputStream.<init>(Unknown Source)
at Servitore.ServerThread.run(ServerThread.java:38)
java.lang.NullPointerException
at Servitore.ServerThread.run(ServerThread.java:102)


La riga 38 è questa:

iis = new ObjectInputStream(socket.getInputStream());

che è proprio la riga che crea il primo stream (ingresso, mentre nella successiva creo quello di output).

La riga 102 è:

iis.close();




Ho il dubbio che io possa sbagliare qualcosa per il semplice fatto ke sto lavorando con i socket ssl anche se i certificati li ho creati per bene.
Spero di essermi spiegato al meglio in questo post, se qualcuno non capisce bene potrei postare il codice anche se non mi sembrava il caso farlo.
Spero possiate aiutarmi, sono proprio bloccato per questa cosa :mc:

GRAZIE

darioritondo
21-06-2010, 09:41
Qualcuno mi sa aiutare :cry:
PLEASE