Strumenti Utente

Strumenti Sito


lpr-b:sorgenteodp

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

lpr-b:sorgenteodp [26/10/2007 alle 15:38 (18 anni fa)] – creata Marco Daneluttolpr-b:sorgenteodp [26/10/2007 alle 15:39 (18 anni fa)] (versione attuale) Marco Danelutto
Linea 26: Linea 26:
  
 public class ODP { public class ODP {
- private static final int MAX_UDP_PAYLOAD = 65507; + private static final int MAX_UDP_PAYLOAD = 65507; 
- /**  + /**  
-  * variabile utilizzata per memorizzare l'oggetto che deve essere  +  * variabile utilizzata per memorizzare l'oggetto che deve essere  
-  * (o che e' stato) serializzato mediante il DatagramPacket. +  * (o che e' stato) serializzato mediante il DatagramPacket. 
-  */ +  */ 
-        private Object o = null;+ private Object o = null;
  
-        /**  + /**  
-         * costruttore per la creazione di un ODP  +  * costruttore per la creazione di un ODP  
-         * Questo costruttore si usa per creare un pacchetto da spedire. +  * Questo costruttore si usa per creare un pacchetto da spedire. 
-         * @param o l'oggetto da serializzare nel pacchetto +  * @param o l'oggetto da serializzare nel pacchetto 
-         */ +  */ 
-        public ODP(Object o) { + public ODP(Object o) { 
-                this.o = o; + this.o = o; 
-        } + }
-         +
-        /** +
-         * creazione di un oggetto ODP a partire da un pacchetto DatagramPacket. Si passa il datagram packet come parametro  +
-         * e da questo si ottiene l'oggetto che era stato incaspulato come payload +
-         * @param dp  il DatagramPacket da cui si crea l'oggetto ODP +
-         * @return l'oggetto ODP con l'object deserializzato in o +
-         */ +
-        public static ODP getODP(DatagramPacket dp) { +
-                ODP o = null; +
-                try { +
-                        ByteArrayInputStream bis = new ByteArrayInputStream(dp.getData()); +
-                        ObjectInputStream ois = new ObjectInputStream(bis); +
-                        o = new ODP(ois.readObject()); +
-                } catch (IOException e) { +
-                        e.printStackTrace(); +
-                } catch (ClassNotFoundException e) { +
-                        e.printStackTrace(); +
-                } +
-                return o; +
-        }+
  
-        /** + /** 
-         metodo per ottenere un DatagramPacket dall'oggetto ODP +  creazione di un oggetto ODP a partire da un pacchetto DatagramPacket. Si passa il datagram packet come parametro  
-         @param addr l'indirizzo da utilizzare per la spedizione del pacchetto +  e da questo si ottiene l'oggetto che era stato incaspulato come payload 
-         * @param port porta destinazione per il pacchetto +  * @param dp  il DatagramPacket da cui si crea l'oggetto ODP 
-         * @return il datagram packet con l'oggetto serializzato nel payload +  * @return l'oggetto ODP con l'object deserializzato in o 
-         * @throws Exception  +  */ 
-         */ + public static ODP getODP(DatagramPacket dp) throws ClassNotFoundException, IOException { 
-        public DatagramPacket getDatagramPacket(InetAddress addr, int port) throws IOException { + ODP o null
-                ByteArrayOutputStream bos new ByteArrayOutputStream()+ ByteArrayInputStream bis = new ByteArrayInputStream(dp.getData()); 
-                ObjectOutputStream oos; + ObjectInputStream ois = new ObjectInputStream(bis); 
-                try { + = new ODP(ois.readObject()); 
-                        oos = new ObjectOutputStream(bos); + return o
-                        oos.writeObject(o)+ }
-                } catch (IOException e) { +
-                        e.printStackTrace(); +
-                } +
-                byte[] buf bos.toByteArray(); +
-                if(buf.length > MAX_UDP_PAYLOAD) +
-                throw new IOException("Object too big"); +
-                DatagramPacket dp = new DatagramPacket(buf, buf.length, addr, port); +
-                return (dp)+
-        }+
  
-        /** + /** 
-         * utilizzata per prelevare l'oggetto "deserializzato" dal pacchetto +  * metodo per ottenere un DatagramPacket dall'oggetto ODP 
-         * @return l'oggetto deserializzato dalla getODP(DatagramPacket) (o memorizzato mediante la ODP(Object) + * @param addr l'indirizzo da utilizzare per la spedizione del pacchetto 
-         *  + * @param port porta destinazione per il pacchetto 
-         */ + * @return il datagram packet con l'oggetto serializzato nel payload 
-        public Object getObject() { + * @throws Exception  
-                return o; + */ 
-        }+ public DatagramPacket getDatagramPacket(InetAddress addr, int port) throws IOException { 
 + ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
 + ObjectOutputStream oos; 
 + try { 
 + oos = new ObjectOutputStream(bos); 
 + oos.writeObject(o); 
 + } catch (IOException e) { 
 + e.printStackTrace(); 
 +
 + byte[] buf = bos.toByteArray(); 
 + if(buf.length > MAX_UDP_PAYLOAD) 
 + throw new IOException("Object too big"); 
 + DatagramPacket dp = new DatagramPacket(buf, buf.length, addr, port); 
 + return (dp); 
 +
 + 
 + /** 
 +  * utilizzata per prelevare l'oggetto "deserializzato" dal pacchetto 
 +  * @return l'oggetto deserializzato dalla getODP(DatagramPacket) (o memorizzato mediante la ODP(Object) 
 +  *  
 +  */ 
 + public Object getObject() { 
 + return o; 
 + }
  
 } }
 </code> </code>
lpr-b/sorgenteodp.1193413085.txt.gz · Ultima modifica: 26/10/2007 alle 15:38 (18 anni fa) da Marco Danelutto

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki