Ecco una possibilità:Originariamente inviato da menostress
Come faccio a riunire i 4 campi scritti sopra tutti nel Data di un pacchetto UDP facendo in modo che poi in ricezione io possa nuovamente discriminarli?
Occhio solo ad una cosa: lo stream di dati generato dal DataOutputStream contiene i dati senza alcun "tag", cioè senza alcuna marcatura di cosa/quanti siano i byte!codice:ByteArrayOutputStream baos = new ByteArrayOutputStream (); DataOutputStream dos = new DataOutputStream (baos); byte[] addr = dest_ip.getAddress (); dos.write (addr, 0, addr.length); dos.writeInt (port); dos.writeInt (channel); dos.write (data, 0, data.length); byte[] packet = baos.toByteArray ();
Vuol dire che in packet avrai: 4 byte (se dest_ip è IPv4) + 1 intero (4 byte) + 1 intero (4 byte) + N byte.
Questo devi saperlo tu!! E in lettura dovrai fare le read in modo da prendere gli stessi tipi di dati.

Rispondi quotando