Page 1 of 1
Java και Streams
Posted: Mon May 10, 2004 1:14 am
by Einherjar
Μπορεί κάποιος να με βοηθήσει επειδή έχω σπάσει το κεφάλι μου αλλά δεν έχω βρεί μια λύση. Έχω το παρακάτω κομμάτι κώδικα
Code: Select all
ObjectInputStream in = new ObjectInputStream(ircSocket.getInputStream());
όπου ircSocket είναι ένα Socket με το οποίο έχει γίνει ήδη μια σύνδεση. ε όταν τρέχει το πρόγραμμα μου βγάζει StreamCorruptedException. Στην άλλη πλευρά (server) εκτελούνται κανονικά και χωρίς προβλήματα οι αντίστοιχες εντολές ΙΟ. Έχει κανείς κάποια ιδέα?
Posted: Tue May 11, 2004 1:58 am
by Einherjar
οκ. εντόπισα το πρόβλημα και σας παραθέτω την λύση μήπως και κάποιος βρεθεί στη ίδια δύσκολη θέση.
Από την πλευρά του server είχα ανοίξει 2 Object Output Streams ενώ από την πλευρά του client 1. Δεν προσπάθησα από την πλευρά του server να γράψω ταυτόχρονα και στα 2 streams αν κάποιος προτρέξει και σκεφτεί κάτι τέτοιο. Το θέμα είναι ότι το κάθε object stream αρχικοποιείται με ένα header όταν αυτό δημιουργείται. Προσπαθώντας να διαβάσω από τον client τα δεδομένα που έστελναν τα 2 object streams, διάβαζα αρχικά το πρώτο header και εκεί που περίμενα δεδομένα μου ερχόταν και το 2ο header, με αποτέλεσμα να γίνουν όλα κουβάρι.
Για να διαβαστεί από τον client αυτά που στέλνονται από τον server πρέπει να δημιουργηθούν 2 streams ή όλα να στέλνονται από 1 stream (όπως και έγινε τελικά).