Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    14

    [JAVA] Crash client con applicazione client/server

    Ciao ragazzi,vi scrivo per sapere quale consiglio mi potete dare nel capire quando un client ad esempio perde la connessione e il server quindi lo deve kikkare.

    Ho letto in giro di catturare l'eccezzione socketException,solo che non ho capito come catturarla(cioe' non capisco come mi viene generata e quindi dove applicare il blocco try/catch).

    Grazie a tutti per gli aiuti!!

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    Java ha un forum dedicato.

    Sposto.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3

    Re: [JAVA] Crash client con applicazione client/server

    Originariamente inviato da nico92
    Ciao ragazzi,vi scrivo per sapere quale consiglio mi potete dare nel capire quando un client ad esempio perde la connessione e il server quindi lo deve kikkare.

    Ho letto in giro di catturare l'eccezzione socketException,solo che non ho capito come catturarla(cioe' non capisco come mi viene generata e quindi dove applicare il blocco try/catch).

    Grazie a tutti per gli aiuti!!
    Si tratta di controllare l'istruzione che si occupa della lettura del flusso in input di dati.

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    14
    Per leggere i dati uso un ciclo di questo tipo:

    codice:
    @Override public synchronized void run() {
            try {
                while (!fine) {
                    try {
                        inputLine = in.readLine();
    			//in.readLine();
    			//ot.println(inputLine);
                            //ot.flush();
                         mexRicevuto.processaInput(inputLine);
                       
                        if(inputLine.startsWith("#quit"))
                            fine=true;
                    } catch (SocketException e) {
                            System.out.println("Sono caduto");
                            mexRicevuto.processaInput("#quit");
                    	fine = true;
                    }
                    catch(Exception e){mexRicevuto.processaInput("#quit");
                    	fine = true;};
    
                }
    
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    Tuttavia quando catturo l'eccezzione e provo a scollegare il cavo di rete da un pc collegato alla chat non mi entra nel catch della SockeException.

  5. #5
    La SocketException non è mandata solo quando il client si disconnette e non è un modo sicuro per scoprire se il client s'è disconnesso.
    L'unico modo sicuro è quello di fare ogni tot secondi un ping mandando un messaggio e vedendo se il client risponde. Se la risposta è -1 oppure se viene lanciata la SocketException, il client si è disconnesso.
    lolide
    Java Programmer

    Informati

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    14
    Ok ma la SocketException dove la catturo??cioe' dove mi viene lanciata??dall'operazione di scrittura verso quel client dal server??

  7. #7
    Originariamente inviato da nico92
    Ok ma la SocketException dove la catturo??cioe' dove mi viene lanciata??dall'operazione di scrittura verso quel client dal server??
    Si, alla scrittura nel socket.
    lolide
    Java Programmer

    Informati

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    14
    Ok quindi scrivo a quel client attraverso una println della classe PrintWriter e poi faccio una catch(SocketException e)
    {//qui gestisco l'eccezzione};

    giusto??

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.