Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [java] Client/server[gravissimo]

    Salve....
    Sto sviluppando un'applicazione client/server da un bel pò
    e non mi ero mai accorto, che interrompendo il server in modo brutale, il processo JAVA.EXE associato al server, rimaneva sempre in esecuzione.
    Il server si collega ad un db.....questo JAVA.EXE che rimane attivo, non rilascia la risorsa db rendendola non fruibile da altre applicazioni.

    Ho inserito nel main il comando System.exit(0);
    Sembra che funzioni si e no.

    Qualcuno potrebbe dirmi come uccidere in modo sicuro il processo server?'??????


  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    698

    Re: [java] Client/server[gravissimo]

    Originariamente inviato da Dorcan82
    Salve....
    Sto sviluppando un'applicazione client/server da un bel pò
    e non mi ero mai accorto, che interrompendo il server in modo brutale, il processo JAVA.EXE associato al server, rimaneva sempre in esecuzione.
    Che intendi per interruzione brutale?

    Ho inserito nel main il comando System.exit(0);
    Sembra che funzioni si e no.
    Spiega meglio...io butto li un ipotesi.

    Se tu dici di aver messo System.exit() nel main, presumibilmente sei nel server principale, quello che fa la accept() per intedersi.
    E' anche ragionevole supporre che il tuo server sia multi thread, per cui puo darsi che tu chiudi solo il server principale ma i vari client handler rimangono attivi.

    Posta errori ed eccezioni

  3. #3
    hai centrato.

    potrebbe essere come tu dici.

    i vari thread fanno riferimento ad un metodo sincronizzato di una classe che realizza il monitor object.
    Io pensavo che il trhead, una cvolta terminata l'esecuzione del metodo sincronizzato, venisse ucciso. E' così????
    Se non lo è.....potresti dirmi come sopprimere il tread in modo sicuro????
    Altra cosa: come faccio a far capire al trhead che il setSoTime del client è scaduto, così da interromperlo e ucciderlo????


  4. #4
    Scusa, che protocollo stai usando per la comunicazione client - server?
    Ho avuto lo stesso problema. L'unico modo di fermare in thread in modo indolore è quelli di rilasciarne tutte le risorse usate.

  5. #5
    Ilprotocollo è il TCP....penso cmq di aver risolto
    Sono però interessato alla soppressione trhead indolore.
    Come si fa????


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.