Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    [Java] Problema Thread per JDialog

    Salve a tutti...
    Ho una classe che mi implementa un server ed una finestra grafica per visualizzare alcune informazioni.... non appena avvio il server mi si blocca la schermata.... è un problema di processi vero?? Come faccio a risolvere il problema???
    Grazie a tutti...

  2. #2
    Sinceramente non riesco a capire
    Hai una singola classe che prima avvia la finestra e poi il server?
    Lang=Java
    Ambiente = Eclipse forever
    Ubuntu & Win XP Pro

  3. #3
    Hai ragione ho scritto male....

    Ho una classe per la finestra ed una per il server...
    Dalla finestra avvio il server...

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Potresti postare, a grandi linee, la struttura delle classi? Comprese le guardie dei cicli del metodo run dei thread. Non riesco a capire in che modo ti si blocchi. Suppongo, quindi, che ci sia un loop stretto da qualche parte, che, magari, non stà in un thread.


    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

  5. #5
    codice:
    public class MyServer1 {
     public MyServer1() {
          super();
     }
       
     public void run() {
       try {
            ServerSocket server=new ServerSocket(1234);
            int port=server.getLocalPort();
            //System.out.println("Server in ascolto sut "+port);
            do {
                Socket client=server.accept();
                String clientname=client.getInetAddress().getHostName();
                int clientport=client.getPort();
               System.out.println("Conness. accettata da"+clientname+"on port "+clientport);
                (new ServerThread(client)).start(); 
                } while (true);
            } catch (IOException ex) {
                System.out.println("Server Error");
                System.exit(0);
            }   
        }

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Ok... immagino che MyServer1 estenda Thread (dimenticanza nel codice, facilmente intravedibile dal super() sul costruttore).
    Mi pare che funzioni, anche come annidamento di controlli try/catch. Bisogna vedere come lo richiami all'interno della finestra.

    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

  7. #7
    Partendo da..

    MyServer1 server=new MyServer1(); [/CODE]

    avvio il server ....

    server.run();

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Dunque il problema non dovrebbe essere il server. Hai provato a controllare che non sia da qualche altra parte? Mettendo dei System.out.println() prima e dopo le istruzioni cruciali, dovresti vedere dove si blocca il programma per poterlo analizzare in dettaglio.

    Se vuoi mi puoi mandare i sorgenti, così potrò controllarli (ti posso rispondere solo domani, però).
    Se ti posso essere d'aiuto, il mio indirizzo è: leleft at libero.it

    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

  9. #9
    Grazie ... ti ho appena mandato il codice... ps la mail è senza oggetto...l'ho dimenticato...

  10. #10
    Partendo da..

    MyServer1 server=new MyServer1(); [/CODE]

    avvio il server ....

    !!!!!!!!!!server.run();!!!!!!!!!!!

    Errorissimo
    Non devi chiamare server.run() , ma server.start() se chiamato direttamente il metodo run il thread non viene avviato come tale , ma come una classe qualsiasi e quindi non in parallelo
    Lang=Java
    Ambiente = Eclipse forever
    Ubuntu & Win XP Pro

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.