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...
nel client tutto funziona correttamente...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; }
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
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...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; }
sapete dirmi perchè?
allego l'immagine del JOptionPanel visualizzato non correttamente

Rispondi quotando

