Ho realizzato un server multithread,che gestisce delle applicazioni client.
Non riesco a sviluppare un codice che mi permetta di forzare i client a tentare di ripristinare la connessione, nel caso in cui il Server venga fermato e riavviato.
L'unica idea che mi è venuta è quella di creare una thread che periodicamente inoltri una richiesta al Server,ma funziona solo una volta.
Questa è la classe che esegue il controllo e che prende come parametro la Socket della classe principale del client.
codice:public class ControlloConnessione extends Thread { OutputStreamWriter osw; BufferedWriter bw; PrintWriter out; //il costruttore ControlloConnessione(Socket s){ this.start(); while(true){ try{ this.sleep(10000); osw = new OutputStreamWriter(s.getOutputStream()); bw = new BufferedWriter(osw); out = new PrintWriter(bw, true); out.println("Controllo Connessione"); System.out.println("Controllo Connessione"); } catch(Exception e){ e.printStackTrace(); try{ s=new Socket("localHost",4444); } catch(Exception exc){exc.printStackTrace();} } } } }

Rispondi quotando