Indice del forum
 FAQ   Cerca   Lista utenti   Gruppi   Registrati   Profilo   Messaggi privati   Log in 
Calcolatrice Client Server

 
Nuovo argomento   Rispondi    Indice del forum -> Programmazione: c#, c++, Java, HTML, PHP, Javascript...
Precedente :: Successivo  

Autore

Messaggio

arock84
Novizio


Registrato: 31/10/08 19:45
Messaggi: 4

MessaggioInviato: Lun Nov 17, 2008 10:24 pm    Oggetto: Calcolatrice Client Server

Rispondi citando


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();
   }
}

Top

Profilo Invia messaggio privato

cali1981
Site Admin


Registrato: 16/01/06 22:01
Messaggi: 836

MessaggioInviato: Mar Nov 18, 2008 7:55 pm    Oggetto:

Rispondi citando


Beh la domanda è un pò generica, devi innanzitutto crearti un semplice protocollo di comunicazione, quindi ad esempio:


  • connessione
  • handshake (il client invia una sequenza determinata di caratteri, il server risponde)
  • se l'handshake è superato, invii gli operandi e il segno, usando un formato per riconoscerlo (ad esempio OP1:12 dove op1 è il primo operando e 12 il valore)
  • il server invia il risultato (es: RIS:435)

_________________
Visita anche il sito Agriturismo Umbria per maggiori informazioni sull'Umbria!

Realizzazione siti web e applicazioni ASp.NEt, C/C++, C#

Top

Profilo Invia messaggio privato Invia e-mail

Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> Programmazione: c#, c++, Java, HTML, PHP, Javascript... Tutti i fusi orari sono GMT
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi
Forum del sito TuttoMontefalco.it - Umbria - Italy topic RSS feed 


Torna al sito TuttoMontefalco.it


Powered by phpBB © 2001, 2005 phpBB Group
phpbb.it

SoftGreen 1.1 phpBB theme by DaTutorials.com
Copyright © DaTutorials 2005