Innanzitutto grazie per la risposta, ho chiaro fino a un certo punto quello che mi hai detto.I valori interi a più byte vanno scritti in Big-Endian. Ho provato a scrivere il codice usando DataOutputStream+ByteArrayOutputStream in questo modo :
Con questo codice invio nuovamente solo una stringa, se volessi inviare anche un indirizzo ip di 4bytes(l indirizzo in questione che mi chiedi è quello del server e anche la porta; entrambi serviranno al client per contattare il server in seguito tramite TCP) come faccio? Ho visto che ci sono metodi come "writeIint" che può andar bene per inviare il numero di porta, ma per l indirizzo ip come mi comporto dato che è un InetAddress?codice:byte[] data = new byte[10];// array di 10 bytes per contenere l intero msg DatagramPacket dp = new DatagramPacket(data, data.length, group, port); ByteArrayOutputStream bout = new ByteArrayOutputStream(); DataOutputStream dout = new DataOutputStream(bout); dout.writeUTF(hello); // scrivo la stringa "HELO" sullo stream data = bout.toByteArray(); // estraggo l' array di byte dp.setData(data,0,data.length); // lo inserisco nel DatagramPacket dp.setLength(data.length); // definisco la lunghezza del buffer s.send(dp); // invio il DatagramPacket sul socket s dichiarato in precedenza
Spero di esser stato chiaro, sono un pò alle prime armi. Grazie

Rispondi quotando