Γενικά ξέρω ότι το serialization συνδέεται άμεσα με streaming, δηλαδή TCP, αλλά μήπως υπάρχει κάποιος έμμεσος τρόπος να το καταφέρω; Θέλω να συνδυάσω τα πλεονεκτήματα και των δύο σε ένα, αν είναι δυνατόν.

Το πιο κοντινό που βρήκα στη java είναι η κλάση ByteArrayOutputStream. Λογικά σε αυτό αναφέρεσαι.netharis wrote: Θα πρέπει να φτιάξεις το serialization στη μνήμη/αρχείο με κάποιο ByteOutputStream
Απ' ό,τι φαίνεται δεν υπάρχει μέθοδος που να το κάνει αυτό αλλά έτσι κι αλλιώς και να γινόταν αυτός ο τρόπος "καταργεί" το serialization αφού δεν περνάει ως "αντικείμενο" μέσα από το socket αλλά ως bytes (εκτός κι αν δεν κατάλαβα κάτι καλά). Δηλαδή τελικά για να περάσει ένα byte[] απέναντι είναι ευκολότερο να κατασκευάσω ένα String, να το μετατρέψω σε bytes και να το στείλω απέναντι. Βέβαια αυτό είναι περιορισμός καθαρά UDP τώρα που το βλέπω αφού απαιτεί το packet να περιέχει οπωσδήποτε ένα byte[] ως δεδομένα.netharis wrote: και στη συνέχεια μέσω του ObjectOutputStream, να τραβήξεις ένα byte array απο εκεί και να το στείλεις ως DatagramPacket.
Μπα, δε θέλω να χρησιμοποιήσω RMI.netharis wrote: Πάντως αυτό που θες να κάνεις νομίζω γίνεται και με RMI.
Σωστό κι αυτό, αλλά για να κάνεις τις μετατροπές από object σε bytes και το αντίστροφο μάλλον δεν στέκει και πολύ σαν λογική και μάλλον χρειάζεται μια custom υλοποίηση για να πάρεις από το serialozed object bytes. Οπότε στην τελική μάλλον δυσκολεύει αντί να διευκολύνει το έργο αυτή η λογική. Από την αρχή "έμπαζε" λίγο αυτό που ήθελα να κάνω.netharis wrote:Έτσι και αλλιώς ως bytes θα μεταφερθεί το αντικείμενο σου.
Δεν είναι κάτι τρομερό. Απλά ήθελα με κάποιο τρόπο να φτιάξω τα δικά μου μηνύματα (και να μην στέλνω ένα απλό String μέσω του socket) ώστε να τα διαχειρίζεται ευκολότερα ο παραλήπτης, αποφεύγοντας παράλληλα να χρησιμοποιήσω tcp sockets γιατί μπορεί να υπάρχει συμφόρηση και καθυστέρηση στο δίκτυο με τις πολλές συνδέσεις.rigo wrote:^^ Εσύ το έχεις πάει πολύ μακριά, αρχίζω να νιώθω άσχημα!!