Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tra audio e AI: la ricetta di Qualcomm per l'agentic AI
Tra audio e AI: la ricetta di Qualcomm per l'agentic AI
Snapdragon Soung Gen 2 è la piattaforma Qualcomm per i dispositivi audio sempre più integrati nel mondo dell'intelligenza artificiale: al prorpio interno tanta potenza elaborativa per gestire al meglio le necessità d'uso dell'agentic AI
Qualcomm annuncia la nuova generazione di SoC Snapdragon 8 Elite Gen 6
Qualcomm annuncia la nuova generazione di SoC Snapdragon 8 Elite Gen 6
In occasione del proprio Snapdragon Summit Qualcomm annuncia i due nuovi chip per dispositivi mobile di fascia alta che entreranno nel mercato nel corso del 2027: tanta potenza a disposizione per elaborazioni di intelligenza artificiale sempre più complesse
realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole!
realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole!
Hogwarts arriva in fascia media grazie a realme, con una special edition che unisce la Quadra Light-Sensing Color-changing Tech, un baule in stile Hogwarts Express pieno di collezionabili e una scheda tecnica sostanzialmente identica al 16 Pro di partenza: ecco cosa cambia davvero, come si comporta nell'uso quotidiano e quanto vale in base al prezzo di 699,99 euro
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 30-01-2016, 12:58   #1
JohnMarston
Member
 
Iscritto dal: Jun 2013
Messaggi: 133
[JAVA] RMI Comunicazione fra Server e Client

Ciao,
sto cercando di capire come creare un canale in modo tale che il client resti in ascolto e stampi i valori passati dal server. Mancano dei blocchi di codice, semplicemente perché non ho idea come andare avanti.

Questa è la classe server
Codice:
public class Server {
    RemoteImpl impl;
    
    public void Server() {
    }

    public void timer(){
        try { 
            impl = new RemoteImpl();
            Registry reg = LocateRegistry.createRegistry(Constant.RMI_PORT);
            reg.bind(Constant.RMI_ID, impl);
            System.out.println("Server Partito!"); 

        } catch (Exception exc) {        
            System.out.println("SERVER - RMI Eccezione "+exc);                       
        }
        final ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor();
        service.scheduleAtFixedRate(new Runnable(){
            @Override
            public void run(){              
                try { 
                    DateFormat df = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
                    Date today = Calendar.getInstance().getTime();        
                    String reportDate = df.format(today);
                    System.out.println("Server: Time " + reportDate);
                    impl.getTimeServer(reportDate);
                } catch (Exception exc) {
                    System.out.println("SERVER - Timer Eccezione "+exc);                         
                }
            }
        }, 0, 1, TimeUnit.SECONDS);
    }
    
    public static void main(String[] args) throws RemoteException, AlreadyBoundException {      
        new Server().timer();        
    }

}
Questa è l'interfaccia

Codice:
public class RemoteImpl extends UnicastRemoteObject implements TestRemote{

    protected  RemoteImpl() throws RemoteException {
        super();

    }
    @Override
    public boolean isLoginValid(String username) throws RemoteException {
        if(username.equals("test")){
            return true;
        }
        return false;
    }

    @Override
    public void getTimeServer(String time) throws RemoteException {
        System.out.println("RemoteImpl: Time "+time);
    }
    
}
Questo è il client
Codice:
public class Client {

    public Client() throws RemoteException, NotBoundException {
        System.out.println("RMI_PORT "+Constant.RMI_PORT);
        System.out.println("RMI_ID "+Constant.RMI_ID);
        
        Registry registry = LocateRegistry.getRegistry("localhost", Constant.RMI_PORT);
        TestRemote remote = (TestRemote)registry.lookup(Constant.RMI_ID);
        
        System.out.println(remote.isLoginValid("test"));              
    }

    public static void main(String[] args)throws RemoteException, NotBoundException {
        new Client();

    }
    
}
In pratica il client dovrebbe continuare a stampare la data che il server passa e quest'ultimo dovrebbe consentire a più client di collegarsi.
JohnMarston è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tra audio e AI: la ricetta di Qualcomm per l'agentic AI Tra audio e AI: la ricetta di Qualcomm per l'age...
Qualcomm annuncia la nuova generazione di SoC Snapdragon 8 Elite Gen 6 Qualcomm annuncia la nuova generazione di SoC Sn...
realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole! realme 16 Pro Harry Potter Edition: il nuovo mid...
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce Recensione REDMI Note 17 Pro: il midrange con ba...
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Anker AeroClip 2, li indossi e dopo un p...
Notebook ASUS da gaming per il Back to S...
Auto elettriche UE al 21,7%: sorpasso si...
GPT-6 Astra ha decifrato un messaggio na...
Registra a 7.471 fps e costa quanto un'u...
Microsoft riporta in vita Surface Mouse ...
OpenAI porta le funzioni agentiche vocal...
La Cina indaga su DeepSeek e Moonshot: a...
Sono 68.450 gli oggetti oltre i 10 centi...
950 agenti, 210 milioni di token e 21 or...
Dopo quasi 40 anni l'Italia riapre al nu...
Apple Intelligence su macOS 27 potrebbe ...
NVIDIA prepara la grafica del futuro con...
YouTube annuncia nuovi strumenti per per...
Phishing a nome ACI sul bollo auto: una ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 14:01.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v