0

I'm am trying to send over socket a very big array - length about 1300000 .... and I use ObjectInputStream and ObjectOutputStream. The problem is when I read the input stream... I get this exception:

java.io.StreamCorruptedException: invalid type code: FF
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1356)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at objectThread.run(objectThread.java:27)

//ois is the ObjectInputStream
//o is an Object
 while (ois != null && (o = ois.readObject()) != null) // here I got the exception
{
                System.out.println("while entered...");
                int[] r = (int[]) o;//get the array
            }

Is the array to big? Or how can I send it over network in the most reliable way? Can somebody help please?

2
Contributors
4
Replies
6
Views
7 Years
Discussion Span
Last Post by Clawsy
0

Can you try this again with the array reduced to (say) 3 elements? That will tell you whether it's a size problem or something else.

0

Yes... I don't get it anymore now with small length but I don't know why when I get to:

Object o = ois.readObject();// it does nothing here, I tested
int[] r = (int[])o;

That's how I sent it:

int[] r = new int[]{1,2,3};
oos.writeObject(r);
oos.flush();

Weird... something wrong? For the rest of communication I use Data stream and works just fine. Is Object stream somehow special?

0

Beats me! That looks OK, so I'm stuck too.
Please make sure you post the solution when you find it - I really want to know. I've got quite a bit of code that looks just like that, and it works OK, although I haven't tried sending arrays as such because I (amost) always avaoid using arrays in Java

0

I made it. The problem was that I was using the same input stream from a socket with an ObjectOutputStream and DataOutputStream. So I use now a separate socket connection for Object stream and it works.
Only one problem: the array is 3932160 length and after I send it 2 or 3 times I get this exception at server application (the sender):

Exception in thread "Thread-5" java.lang.OutOfMemoryError: Java heap space
This article has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.