Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    1,258

    prg applet che funziona su server?

    è possibile creare un applet che al posto che girare sul client gira sul server e manda l'animazione grafica sul client?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: prg applet che funziona su server?

    Originariamente inviato da Lucked
    è possibile creare un applet che al posto che girare sul client gira sul server e manda l'animazione grafica sul client?
    Detto così non ha molto senso .... una applet viene eseguita all'interno di un browser e il browser, da che mondo è mondo, sta sul client.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    1,258
    ok ma io voglio fare una simulazione di un processo che deve essere eseguito sul server, pensavo di fare una applet e solo che questa animazione la voglio sincronizzata con cosa succede sul server...si puo fare in ambito java?

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    1,258
    detto in altri termini voglio che tutti possono osservare l'applet che gira sul server.

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Quello che si può fare (e che va fatto in questi casi) è un'applicazione client/server.
    Il client è l'applet che si collega al server il quale dice all'applet cosa visualizzare.


    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

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    1,258
    ecco bene...qualcosa da sfogliare a riguardo? :master:

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Questa, ad esempio, è una bozza di un'applet che effettua l'autenticazione presso un server, prima di cominciare a visualizzare delle immagini, che il server stesso le invia. Puoi cominciare da questa... la parte server non la posto, per non dilungare inutilmente il post
    codice:
    import java.io.*;
    import java.net.*;
    import javax.swing.*;
    import java.applet.*;
    import java.awt.event.*;
    
    public class Client extends JApplet implements ActionListener {
    
       private class Gestione extends Thread {
          private ObjectInputStream ois;
          public Gestione(InputStream is) {
             try {
                ois = new ObjectInputStream( is );
             } catch (Exception e) { e.printStackTrace(); }
          }
    
          public void run() {
             String str = null;
             int[] pos = null;
             try {
                Messaggio msg = (Messaggio) ois.readObject();
                if (msg.getId() == Messaggio.ACCEPT) {
                   while( true ) {
                      msg = (Messaggio) ois.readObject();
                      switch( msg.getId() ) {
                         // ... tutti i casi previsti per le azioni inviate dal server
                      }
                   }
                } else {
                   lbl.setText("Autenticazione fallita!");
                }
             } catch (Exception e) { e.printStackTrace(); }
          }
       }
    
       private JPanel jpLogin;
       private JLabel lblLogin;
       private JLabel lblPasswd;
       private JTextField txtLogin;
       private JPasswordField txtPwd;
       private JButton jbLogin;
    
       private JLabel lbl;
       private ImageIcon img;
       private Socket s;
       private Gestione ges;
       private String strLogin;
    
       public void init() {
          getContentPane().setLayout( null );
    
          creaPannelloLogin();
    
          validate();
       }
    
       private void creaPannelloLogin() {
          lblLogin = new JLabel("Nome utente:");
          lblLogin.setBounds(20, 20, 130, 20);
          lblLogin.setHorizontalAlignment( JLabel.RIGHT );
    
          lblPasswd = new JLabel("Password:");
          lblPasswd.setBounds(20, 50, 130, 20);
          lblPasswd.setHorizontalAlignment( JLabel.RIGHT );
    
          txtLogin = new JTextField();
          txtLogin.setBounds(160, 20, 200, 20);
    
          txtPwd = new JPasswordField();
          txtPwd.setBounds(160, 50, 200, 20);
    
          jbLogin = new JButton("Accedi");
          jbLogin.setBounds(280, 80, 80, 25);
          jbLogin.addActionListener( this );
    
          jpLogin = new JPanel();
          jpLogin.setLayout( null );
          jpLogin.setBounds(140, 200, 400, 200);
    
          jpLogin.add( lblLogin );
          jpLogin.add( lblPasswd );
          jpLogin.add( txtLogin );
          jpLogin.add( txtPwd );
          jpLogin.add( jbLogin );
    
          getContentPane().add( jpLogin );
       }
    
       public void actionPerformed(ActionEvent ae) {
          strLogin = ...   // Compongo la stringa di autenticazione
          getContentPane().remove( jpLogin );
          validate();
    
    
          lbl = new JLabel( "Attendere. Connessione in corso..." );
          lbl.setHorizontalAlignment(JLabel.CENTER);
          lbl.setBounds(10, 10, 790, 590);
    
          getContentPane().add( lbl );
          validate();
    
          try {
    
             connetti();
    
          } catch (Exception e) {
             resize(200, 200);
             if (lbl != null) lbl.setText("Connessione con il server non riuscita.");
             e.printStackTrace();
          }
       }
    
       private void connetti() throws Exception {
          s = new Socket(getCodeBase().getHost(), 2785);
          lbl.setText("Connesso al server remoto. Sincronizzazione dati...");
          ObjectOutputStream oos = new ObjectOutputStream( s.getOutputStream() );
          oos.writeObject( strLogin );
          oos.flush();
          ges = new Gestione( s.getInputStream() );
          ges.start();
       }
    
       private void cambiaImmagine(String s) {
          lbl.setText("");
          img = new ImageIcon( getImage(getCodeBase(), "./imgs/" + s) );
          lbl.setIcon( img );
       }
    }
    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

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.