ho un problema con una applicazione Client-Server realizzata con socket
nel client io effettuo dei controlli e s si verificano errori su alcune pperazioni chiamo una classe notifica che visualizza l'errore riscontrato tramite un JOptionPanel:
CLIENT PRIMA DELLA MODIFICA...
codice:
public class Notifiche
{
static JFrame frame =new JFrame();
public static JFrame toString(int numErr,int conto) {
System.out.println("effettuo la Notifica [NotificheServer](20)");
switch (numErr){
case 1: JOptionPane.showMessageDialog(frame,"devi inserire tutti i campi","ERRORE!!",1); break;
case 2: JOptionPane.showMessageDialog(frame,"salvataggio effettuato con successo","OK!!",1); break;
}
return frame;
}
nel client tutto funziona correttamente...
successivamente ho creato l'applet per gestire il client ed ho notato che l'applet non gestisce nulla del client, l'unica cosa che fa è collegarsi al server e ricevere i dati (giustamente!), quindi ho spostato la classe notifica nel server
ed ho modificato quella del client per fare una connessione al server e chiedere la notifica dell'errore...
CLIENT MODIFICATO
codice:
public static JFrame toString(int numErr,int conto) throws IOException {
switch (numErr){
case 1: connessioneErroriServer(1,conto); break;
case 2: connessioneErroriServer(2,conto); break;
...
}
return frame;
}
protected static void connessioneErroriServer(int errore,int conto) throws IOException
{
socket = new Socket("127.0.0.1", 7780);
richiesta = new ObjectOutputStream(socket.getOutputStream());
risposta = new ObjectInputStream(socket.getInputStream());
richiesta.writeInt(20);
richiesta.writeInt(errore);
richiesta.writeInt(conto);
richiesta.flush();
richiesta.close();
richiesta.close();
risposta.close();
socket.close();
}
private static Socket socket;
private static ObjectInputStream risposta;
private static ObjectOutputStream richiesta;
}
il server quindi riceve la richiesta di notifica però visualizza il JOptionPanel in maniera sbagliata... sembra che sia invisibile, e nel JOptionPanel ci sia l'immagine di quel che c'è nel frame dietro di lui invece che il messaggio...
sapete dirmi perchè?
allego l'immagine del JOptionPanel visualizzato non correttamente