Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    13

    [java] guiserver

    ciao a tutti,
    ho un problemino che spero voi riusciate a risolvermi...
    sto creando un server ed una interfaccia grafica del server (guiserver). L'interfaccia è costruita con tre bottoni, uno per avviare il server, uno per disattivarlo ed uno per chiudere la finestra e l'applicazione. Gli ultimi due bottoni funzionano perfettamente, il problema è il primo. Infatti avvia il server, ma questo rimane in attesa perenne di client e blocca la finestra. Qui sotto metto il codice:

    guiserver.java
    public class avviamento implements ActionListener{
    public void actionPerformed (ActionEvent ae){
    try{
    server.activate();
    avvioserver.setEnabled(false);
    spegnimentoserver.setEnabled(true);
    }
    catch(IOException ioe){
    display.append("C'è stato un errore nell'avviamento server");
    }
    }
    }


    server.java
    public void activate() throws IOException {
    try{
    serverSocket=new ServerSocket(port);
    GUIServer.display.append("Il server è stato avviato\n");
    }
    catch (IOException ioe){
    System.out.println("Non posso ascoltare sulla porta "+porta+"\n");
    System.exit(0);
    }
    try{
    while (listening){
    Socket socketcorrente=serverSocket.accept();
    GUIServer.display.append("E' arrivato un nuovo client\n");
    InputStream is = socketcorrente.getInputStream();
    OutputStream os = socketcorrente.getOutputStream();
    DataInputStream inStream = new DataInputStream(is);
    DataOutputStream outStream = new DataOutputStream(os);
    Serverthread st=new Serverthread(inStream,outStream);
    st.start();
    }
    }
    catch (Exception e){
    GUIServer.display.append("Errore");
    }
    }


    Avete idee? Sono due giorni che ci penso e non ho risolto niente

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    alla fine è quello che deve fare stare in attesa.
    Il fatto che sia tutto bloccato credo sia perche una volta chiamato activate sta li e nn se ne esce finche nn viene fermato. prova a spostare i metodi setEnabled prima dell'activate.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    13
    proverò, grazie. Il fatto è che io volevo attivare una sorta di processi paralleli

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    per esempio?

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    13
    cioè da una parte la finestrella tramite la quale si possono per esempio kickare clients, spegnere il server, controllare le partite in corso e dall'altra il server che rimane in perenne attesa di client e li gestisce

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    una soluzione sarebbe creare un server che lanci senza interfaccia e che gira da solo in attesa di client. La tua interfaccia la puoi così mettere a metà del canale di comunicazione con il server e fare tutto quello che vuoi.

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    13
    no, aspetta. Gui e server sono due files distinti, per quello volevo che fossero due processi distinti...

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    ho sempre pensato che stessero in classi diverse altrimenti torneremmo al problema di partenza. tu la crei separata e poi la metti in ascolto sul canale di comunicazione di modo che puoi vedere cosa passa e inviare mess al server

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    13
    ho provato a mettere i metodi prima dell'activate...non va
    non so piu' come fare

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    lancia il server separatamente dall gui

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 © 2024 vBulletin Solutions, Inc. All rights reserved.