Java και Streams

Συζητήσεις για γλώσσες προγραμματισμού και θέματα σχετικά με προγραμματισμό.
Post Reply
User avatar
Einherjar
Venus Project Founder
Venus Project Founder
Posts: 3751
Joined: Tue Jan 27, 2004 4:42 pm
Academic status: Alumnus/a
Gender:
Location: Washington DC, USA
Contact:

Java και Streams

Post by Einherjar » Mon May 10, 2004 1:14 am

Μπορεί κάποιος να με βοηθήσει επειδή έχω σπάσει το κεφάλι μου αλλά δεν έχω βρεί μια λύση. Έχω το παρακάτω κομμάτι κώδικα

Code: Select all

ObjectInputStream in = new ObjectInputStream(ircSocket.getInputStream());
όπου ircSocket είναι ένα Socket με το οποίο έχει γίνει ήδη μια σύνδεση. ε όταν τρέχει το πρόγραμμα μου βγάζει StreamCorruptedException. Στην άλλη πλευρά (server) εκτελούνται κανονικά και χωρίς προβλήματα οι αντίστοιχες εντολές ΙΟ. Έχει κανείς κάποια ιδέα?
[Better to understand a little than to misunderstand a lot]
User avatar
Einherjar
Venus Project Founder
Venus Project Founder
Posts: 3751
Joined: Tue Jan 27, 2004 4:42 pm
Academic status: Alumnus/a
Gender:
Location: Washington DC, USA
Contact:

Post by Einherjar » Tue May 11, 2004 1:58 am

οκ. εντόπισα το πρόβλημα και σας παραθέτω την λύση μήπως και κάποιος βρεθεί στη ίδια δύσκολη θέση.
Από την πλευρά του 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 (όπως και έγινε τελικά).
[Better to understand a little than to misunderstand a lot]
Post Reply

Return to “Προγραμματισμός”