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 :
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
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?
Spero di esser stato chiaro, sono un pò alle prime armi. Grazie