Questa classe qui rappresenta l'implementazione di GreetingService e si trova nel package server del progetto GWT.
codice:package com.progettonm.server; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.net.InetSocketAddress; import java.net.Socket; import java.util.Enumeration; import java.util.Hashtable; import com.progettonm.client.GreetingService; import com.progettonm.server.idclient.IdentificatoreClient; import com.progettonm.server.infopc.InformazioniPC; import com.progettonm.server.messaggio.MessTabellaClientDist; import com.progettonm.shared.FieldVerifier; import com.google.gwt.user.server.rpc.RemoteServiceServlet; /** * The server side implementation of the RPC service. */ @SuppressWarnings("serial") public class GreetingServiceImpl extends RemoteServiceServlet implements GreetingService { public Hashtable<IdentificatoreClient, InformazioniPC> greetServer() throws IllegalArgumentException { /*Come prima cosa mi devo collegare al server.*/ /* * Qui viene creata la socket che permette al cilent amministrativo di * connettersi al server centralizzato.Lui deve collegarsi alla server Socket con numero di porta 8004 poiche e quella * la serverSocket addetta all'accettazione delle connessioni da parte dei client amministrativi. * Il metodo ritorna il numero di porta del client amministrativo,se tale progetto deve funzionare * su più macchine allora mi farò tornare l'identificatore client, il quale ci è utile nei successvi * metodo per creare le socket. */ /*Va dentro un metodo chiamato selezione scelta.*/ Socket cac=null; try { InetSocketAddress indirizzoServer = new InetSocketAddress( "localhost", 8004); cac = new Socket(); cac.connect(indirizzoServer); } catch (Exception e) { e.printStackTrace(); } System.out.println("Connessione con il server creata:"); /* * Qui vengono presi gli output ed input stream del socket i quali * servono per mandare informazioni,nel nostro caso messaggi, al * server.Ecco perchè utilizziamo gli Object stream */ ObjectOutputStream outCa=null; ObjectInputStream inCa=null; try { outCa = new ObjectOutputStream(cac.getOutputStream()); inCa= new ObjectInputStream(cac.getInputStream()); } catch (Exception e) { e.printStackTrace(); } System.out.println("Creati gli stream che mi permettono di comunicare con il server."); /*Devo leggere il la tabella dei distributi dal server e stamparla a video. */ Object messaggioTabellaClientD=null; try { messaggioTabellaClientD=inCa.readObject(); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (ClassNotFoundException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } /*Ora controllo se il messaggio ricevuto è il messaggio MessTabellaClientDist che contiene * la tabella con i client distributi.*/ Hashtable<IdentificatoreClient, InformazioniPC> tabellaDistribuiti=null; if(messaggioTabellaClientD instanceof MessTabellaClientDist){ MessTabellaClientDist tabellaClientD= (MessTabellaClientDist) messaggioTabellaClientD; /*Stampo l'hashtable*/ tabellaDistribuiti = tabellaClientD.getHashtableCD(); /* * qui creo i 2 oggetti Enumeration che contengo le informazioni * presenti nella tabella*/ Enumeration chiavi = tabellaDistribuiti.keys(); Enumeration informazioni = tabellaDistribuiti.elements(); /* * Qui stampo a video le informazioni chiave valore della * tabella*/ while (chiavi.hasMoreElements() && informazioni.hasMoreElements()) { System.out.println("Chiave:"+ (IdentificatoreClient) chiavi.nextElement()); System.out.println("Info:" + informazioni.nextElement()); } System.out.println("Visualizzazione avvenuta con successo!"); } return tabellaDistribuiti; } }

Rispondi quotando