Ho un Object su un programmino Server, questo Object (di pochissimi byte) deve essere passato al Client, il quale dovra' leggerlo adeguatamente.
Ho provato sia UDP che TCP, ho provato a convertire l'object in string, ma PERDO INFORMAZIONI sull'oggetto, quindi nisba.
Ho adottato, quindi, la soluzione di usare un ObjectOutputStream e un ObjectInputStream (entrambi bufferizzati), cioe' gli unici due stram che sembrano potersi scambiare un object. E qui un altro grosso problema, ricevo un "WriteAbortedException", cioe' il Server non riesce ad inviare l'oggetto; come risolverlo?
Di seguito il pezzo di codice incriminato, vi basti sapere che io DEVO passare l'Object senza perdita di informazioni (quindi non posso convertirlo a string o byte[], perche' perdo info sull'Object) e soprattutto in un ambiente di rete (quindi non in locale).
Si assume anche che i socket e tutto il resto siano funzionanti, quindi il problema e' proprio nell'invio dell'oggetto (troppo grande?). Come poter rendere suddividere l'invio in blocchi, che ne so, da 8 byte, senza usare i byte[]?
Server - Invio
Client - Ricezionecodice:BufferedOutputStream bos = new BufferedOutputStream(os); ObjectOutputStream objStream = new ObjectOutputStream(bos); objStream.writeObject(oggetto); objStream.flush(); objStream.close();
codice:BufferedInputStream bis = new BufferedInputStream(is); ObjectInputStream objStream = new ObjectInputStream(bis); oggetto = objStream.readObject(); objStream.close();



Rispondi quotando

