Salve a tutti,
Ho cercato all'interno del forum ma ho trovato problemi simili al mio ma che non rispondono alle mie esigenze,nel caso vi fossero gia risposta chiedo scusa.
Sto scrivendo un'applicazione client/server con interfaccia grafica e, per ora, funziona correttamente.
L'unico problema avviene quando invoco i metodi per accettare le connessioni al server o per leggere i messaggi sia lato server che lato client. Infatti aggiorno i componenti grafici, ma cio non avviene sul frame! So che quando si invocano tali metodi il programma si arresta, ma il problema è che non vengono eseguite le istruzioni prima.
codice:
private void salaAttesa() {
clear();//Pulisce il frame
content.add(new JPanel().add(new JLabel("In attesa di altri giocatori...")));//Istruzione non visualizzata
stampa();//Ristampa il frame
if (connessioneServer()) {
/*Altre istruzioni che funzionano*/
}
}
private void clear() {
content.removeAll();
}
private void stampa() {
content.repaint();
content.revalidate();
}
public boolean connessioneServer() {
try {
server = new ServerSocket(PORT);
connessione = server.accept();
} catch (Exception e) {
JOptionPane.showMessageDialog(content, "Errore durante la creazione della Partita.\n Errore: " + e.getMessage());
return false;
}
return true;
}
I System.out funzionano perfettamente.
Non uso i thread poiche il server deve accettare una sola connessione.
Grazie in anticipo per l'aiuto.