Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 32
  1. #1

    Calcolatrice Client Server

    Salve avrei bisogno di un aiuto per realizzare una calcolatrice Client Server, il Client dotato di interfaccia grafica deve inviare i dati (operandi con il segno dell'operazione) al Server, il quale (realizzato senza interfaccia grafica) deve elaborarli e restituire il risultato in una JTextField del Client.
    Ho creato la gui del client inserendo 3 JTextField per inserire gli operandi e il segno e 1 JTextField per il risultato,
    la mia domanda è: come faccio ad inviare tramite socket il contenuto delle 3 JTextField al server??
    grazie.

    codice:
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.IOException;
    import java.net.*;
    
    import javax.swing.*;
    
    public class Client extends JFrame  {
    
       
       private JLabel label1;
       private JTextField textField1;
       
       private JLabel label2;
       private JTextField textField2;
       
       private JLabel label3;
       private JTextField textField3;
       
       private JLabel label4;
       private JTextField textField4;
       
       private JButton risultato;
       private JButton chiudi;
       
       
       
       public Client() {
          setTitle("Calc ClientServer  v.1.0");
          
          label1 = new JLabel("Inserisci primo operando:");
          textField1 = new JTextField(5);
          
          label2 = new JLabel("Inserisci secondo operando:");
          textField2 = new JTextField(5);
          
          label3 = new JLabel("Inserisci operazione:");
          textField3 = new JTextField(5);
          
          
          risultato = new JButton("Calcola il risultato");
          
          label4 = new JLabel("Risultato:");
          textField4 = new JTextField(5);
          
    
          chiudi = new JButton("Chiudi");
       
       //-----------------------------------------------------------------------------------
    
          risultato.addActionListener( new ActionListener() {
             public void actionPerformed(ActionEvent actionEvent) {
                //invio al server di operando 1, operando 2, e il segno.
                
                }
          });
          
       //------------------------------------------------------------------------------------   
          chiudi.addActionListener(new ActionListener() {
             public void actionPerformed(ActionEvent actionEvent) {
                  java.lang.System.exit(0);
             }
          });
          
       //----------------------------------------------------------------------------------------   
          JPanel panel = new JPanel();
          panel.add(label1);
          panel.add(textField1);
          
          panel.add(label2);
          panel.add(textField2);
    
          panel.add(label3);
          panel.add(textField3);
          
          panel.add(risultato);
          
          panel.add(label4);
          
          panel.add(textField4);
    
          panel.add(chiudi);
    
          
          setContentPane(panel);
          
          setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          setLocation(300,300);
          pack();
          setSize(700,100);
          setVisible(true);
       }
       
       public static void main(String[] args) {
       
          Socket s = null;
          try {
             s = new Socket("localhost",11111);
          }
          
          catch (UnknownHostException e) {
                System.out.println("errore");
             e.printStackTrace();
          } catch (IOException e) {
          
             e.printStackTrace();
          }
          
          new Client();
       }
    }
    fai un salto nelle news informatiche
    http://raffaelemorra.altervista.org

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    27
    ciao arock anke io stò provando a fare questo programma x un esame... mmm e mi sembra di ricordare il tuo nick probabilmente sei anke tu della partenophe di napoli e stavi sul forum degli studenti x l'esame di programmazione 3 di montella...cmq.........
    io il client l'avevo strutturato in maniera simile tranne x il fatto ke ho creato una JPanel con i bottoni x simulare una vera calcolatrice...cmq io ho avuto il tuo stesso problema cioè come inviare gli operandi e poi l'operazione ke vuoi effettuare al server???
    La mia idea è quella di dikiarare ke la classe client implementa Serializable e quindi possa serializzare oggetti...ks facendo passo l'oggetto della classe client direttamente con tt i suoi campi e quindi gli passo automaticamente operandi e operazione e il server li deserializza e li legge mmmm questo è sl un idea xò magari fammi sapè ke ne pensi ks c confrontiamo

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,318

    Moderazione

    @arock84: quando posti delcodice, inseriscilo all'interno degli appositi tag [code] e [/code], così rimane indentato e formattato con un carattere leggibile.

    Ho sistemato io il tuo post precedente.


    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

  4. #4
    @elpocho:

    si sono io,
    sono aperto a qualsiasi idea, la tua sembra giusta, butta giù un po di codice e vedi se t riesci questo passaggio di parametri, io c sto perdendo le cervella!
    fai un salto nelle news informatiche
    http://raffaelemorra.altervista.org

  5. #5
    Utente di HTML.it L'avatar di @DI3GO@
    Registrato dal
    Nov 2008
    Messaggi
    537

    Scusate...

    ma provate a leggere il contenuto delle 3 campi, in questo modo avete 3 Stringhe e poi li buttante nello Stream di uscita del Socket, come una normalissima Stringa.
    A Lato server analizzate la stringa e poi ributtate il risultato.

    Oppure ordinatamente 1°operando, 2°operando, operazione.

    In questo modo il server in ascolto prende gli operandi, li salva in attesa del 3° dato e poi effettuata l'operazione desiderata esegue ritorna il risultato nello stesso modo....

    Se non vi è stato di aiuto non ho ben capito quale sia il problema ed eventualmente le specifiche richieste per questo programma.
    Nipote: persona incompetente, con le soli doti di "copia/incolla" e la creazione automatica di siti internet ed interfaccie grafiche.Compie lavori apparentemente qualificati e richiesta una modifica sparisce in quatemala con i pochi soldi ottenuti.[...] Fonte la Diegonzelli

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    27
    eeee a ki lo dici? cmq si nn t preoccupare stò finendo di buttar giu ste righe d codice per testare la validità della mia idea..ti terrò informato e se mi riesce ti posto il codice speriam bene

  7. #7
    Ciao Diego,
    hai centrato in pieno il problema,
    puoi fare solo un piccolo esempio dei flussi di dati con i socket?
    fai un salto nelle news informatiche
    http://raffaelemorra.altervista.org

  8. #8
    Utente di HTML.it L'avatar di @DI3GO@
    Registrato dal
    Nov 2008
    Messaggi
    537
    Originariamente spedito da elpocho7
    eeee a ki lo dici?...
    Era riferito ad entrambi, dato che il problema era in comune...L'unica differenza è che elpocho7 utilizzi dei button, quindi semplicemente analizzi il bottone premuto e lo mandi al server, mentre araock84 leggerà da un campo testuale e farà la stessa cosa.
    Cmq resterò in attesa.
    Nipote: persona incompetente, con le soli doti di "copia/incolla" e la creazione automatica di siti internet ed interfaccie grafiche.Compie lavori apparentemente qualificati e richiesta una modifica sparisce in quatemala con i pochi soldi ottenuti.[...] Fonte la Diegonzelli

  9. #9
    @DI3GO@, elpocho diceva a me "eeee a ki lo dici?..."

    cmq
    io vorrei che quando premo sul bottone "Risultato" della gui del client, il server prenda il primo operando, il secondo operando, il segno da 3 textfield li calcoli e rispedisca il risultato a 1 altra textfield,
    puoi fare un esempio del flusso di dati?
    fai un salto nelle news informatiche
    http://raffaelemorra.altervista.org

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    27
    si in realtà io avevo avuto la stessa idea cioè passare i tre campi operando1 operando2 e operazione al server e lo stavo facendo scrivendogli proprio l'oggetto quindi serializzandolo...ks il server riceve gli operandi e a seconda dell'operazione produce il risultato...xò il mio problema è ke io ho creato lato client una vera calcolatrice con un JPanel ke contiene i bottoni della calcolatrice e volevo gestire gli eventi sui bottoni in modo ke se clikko 2 lo setto kome campo del primo operando e lo faccio comparire in una JTextField al client e la stessa ks faccio per l'altro operando e l'operazione...sl ke cioè m stò bloccando xkè nn riesco a far distinguere la pressione dei bottoni per un operando e per l'altro...cioè come fare per dire quando premi dei numeri lo mandi ad un operando e quando ne premi degli altri li mandi all'altro! VVoVe: madòò spero di nn averti incasinato e di averti fatto capire la mia problematica

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.