P
Peter Forster
I'm trying to send object through a http connection by using
ObjectOutputStream / ObjectInputStream.
This is client code:
toServer.writeObject(myObject);
//toServer.writeObject(new Integer(100000));
//toServer.writeObject("hi server");
when writing the first line (myObject implements Serilaizable), I get a
SocketException on the server as below. when writing Integer or String
objects, I don't have any problems reading it.
The client doesn't seem to have any problems writing (no exceptions).
I think this is either a very strange behavior or I'm missing something
(very basic probably).
Can somebody help me please.
Thank you!
pete
java.net.SocketException: Socket closed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at
org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:777)
at
org.apache.coyote.http11.InternalInputBuffer$InputStreamInputBuffer.doRead(InternalInputBuffer.java:807)
at
org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:158)
at
org.apache.coyote.http11.InternalInputBuffer.doRead(InternalInputBuffer.java:742)
at org.apache.coyote.Request.doRead(Request.java:431)
at
org.apache.coyote.tomcat4.CoyoteInputStream.readBytes(CoyoteInputStream.java:199)
at
org.apache.coyote.tomcat4.CoyoteInputStream.read(CoyoteInputStream.java:156)
at
java.ibjectInputStream$PeekInputStream.read(ObjectInputStream.java:2150)
at
java.ibjectInputStream$BlockDataInputStream.read(ObjectInputStream.java:2555)
at
java.ibjectInputStream$BlockDataInputStream.readFully(ObjectInputStream.java:2579)
at
java.ibjectInputStream.defaultReadFields(ObjectInputStream.java:1834)
at
java.ibjectInputStream.readSerialData(ObjectInputStream.java:1769)
at
java.ibjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at
java.ibjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.ibjectInputStream.readObject(ObjectInputStream.java:324)
ObjectOutputStream / ObjectInputStream.
This is client code:
toServer.writeObject(myObject);
//toServer.writeObject(new Integer(100000));
//toServer.writeObject("hi server");
when writing the first line (myObject implements Serilaizable), I get a
SocketException on the server as below. when writing Integer or String
objects, I don't have any problems reading it.
The client doesn't seem to have any problems writing (no exceptions).
I think this is either a very strange behavior or I'm missing something
(very basic probably).
Can somebody help me please.
Thank you!
pete
java.net.SocketException: Socket closed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at
org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:777)
at
org.apache.coyote.http11.InternalInputBuffer$InputStreamInputBuffer.doRead(InternalInputBuffer.java:807)
at
org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:158)
at
org.apache.coyote.http11.InternalInputBuffer.doRead(InternalInputBuffer.java:742)
at org.apache.coyote.Request.doRead(Request.java:431)
at
org.apache.coyote.tomcat4.CoyoteInputStream.readBytes(CoyoteInputStream.java:199)
at
org.apache.coyote.tomcat4.CoyoteInputStream.read(CoyoteInputStream.java:156)
at
java.ibjectInputStream$PeekInputStream.read(ObjectInputStream.java:2150)
at
java.ibjectInputStream$BlockDataInputStream.read(ObjectInputStream.java:2555)
at
java.ibjectInputStream$BlockDataInputStream.readFully(ObjectInputStream.java:2579)
at
java.ibjectInputStream.defaultReadFields(ObjectInputStream.java:1834)
at
java.ibjectInputStream.readSerialData(ObjectInputStream.java:1769)
at
java.ibjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at
java.ibjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.ibjectInputStream.readObject(ObjectInputStream.java:324)