Buongiorno a tutti.
Ho un problema con un semplice serversocket scritto in java.
Il mio server attende connessioni su una determinata porta, una volta ricevute prende la richiesta la elabora e risponde (tutto in XML).
Il problema sta nel fatto che quando invio la risposta il client non la riceve, in quanto dopo averla inviata chiudo gli stream e il socket e questo crea problemi nella ricezione.
Come posso ovviare il problema senza far rimanere il mio thread aperto all'infinito?
Posto il codice
codice://prendo i buffer di scrittura e lettura PrintWriter out = new PrintWriter(cltSocket.getOutputStream(), true); BufferedReader in = new BufferedReader(new InputStreamReader(cltSocket.getInputStream())); //prendo la risposta while ((inputLine = in.readLine()) != null){ if (inputLine.equals(CRLF) || inputLine.equals("")){ break; } } //prendo il codice XML da restituire sRitorno = "<html><body>Error: Request not recognized<hr>" + inputLine + "<hr></body></html>"; //lo invio out.println(sRitorno); System.out.println("Sto uscendo"); //chiudo i buffer in.close(); out.close(); //chiudo il socket cltSocket.close(); cltSocket = null;

Rispondi quotando