Ultima modifica di andbin; 05-06-2014 a 17:40
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
Accidenti...
si può fare che non ritorni -1 se non ci sono più dati :
l'array da leggere è inviato cosi :
codice:OutputStream out = s.getOutputStream(); byte [] richiestaInvio = new byte [1000]; richiestaInvio = cipher.doFinal(richiesta.getBytes()); out.write(richiestaInvio); out.close();
Nota che qui il new byte [1000]; non serve a nulla. Il doFinal fornisce un nuovo array la cui lunghezza dipende principalmente da cosa c'è in quel richiesta !
E dato che immagino sia un String, tieni sempre a mente le questioni sui charset quando si passa tra String e byte[].
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
Si giusto il new byte [1000] non serve....non si sa a priori la dimensione.
Cosa intendi per quanto riguarda i charset?
Caratteri maiuscoli o minuscoli?
No, la codifica dei caratteri in byte (es. US-ASCII, ISO-8859-1, UTF-8, ecc...)
getBytes() usa il charset di default della piattaforma. Su un'altra macchina potrebbe essere differente. E se stai comunicando tra due macchine differenti, potrebbero esserci problemi in quel senso.
Generalmente è sempre bene "fissare" il charset e tipicamente la scelta cade su UTF-8, perché non perde nulla del Unicode ed è comunque compatto.
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet