Click to See Complete Forum and Search --> : Serializable Receiving Problem


bud1664
September 24th, 2003, 07:56 AM
Hi,

I can do Serializable but am having problems with Receiving Objects. I have spent a few weeks on&off thinking about this but have not got any where. Can anyone help???

~~~~~
import java.io.*;
public class MySerializable implements Serializable {
private String msg = "";
public MySerializableClass() { }
public String getMsg() {
return msg;
}
public void setMsg( String msg ) {
this.msg = msg;
}
private void writeObject( ObjectOutputStream o ) throws IOException {
o.defaultWriteObject();
o.writeObject( msg );
}
private void readObject( ObjectInputStream o ) throws ClassNotFoundException, IOException {
o.defaultReadObject();
msg = (String)o.readObject();
}
}
~~~~~

THIS WORKS (CLIENT)

myMsg.setMsg( "Hello" );
objectOutputStream.writeObject( myMsg );
System.out.println( "<" + myMsg.getMsg() );
myMsg = (MySerializable)objectInputStream.readObject();
System.out.println( ">" + myMsg.getMsg() );
myMsg.setMsg( "C ya" );
objectOutputStream.writeObject( myMsg );
System.out.println( "<" + myMsg.getMsg() );
myMsg = (MySerializable)objectInputStream.readObject();
System.out.println( ">" + myMsg.getMsg() );

Output
<Hello
>Hi
<C ya
>Bye


THIS WORKS (SERVER)

myMsg = (MySerializable)objectInputStream.readObject();
System.out.println( ">" + myMsg.getMsg() );
myMsg.setMsg( "Hi" );
objectOutputStream.writeObject( myMsg );
System.out.println( "<" + myMsg.getMsg() );
myMsg = (MySerializable)objectInputStream.readObject();
System.out.println( ">" + myMsg.getMsg() );
myMsg.setMsg( "Bye" );
objectOutputStream.writeObject( myMsg );
System.out.println( "<" + myMsg.getMsg() );

Output
>Hello
<Hi
>C ya
<Bye

THIS DOESN'T WORK (SERVER)

while( Connect_Still_Valid ) {
myMsg = (MySerializable)objectInputStream.readObject();
System.out.println( ">" + myMsg.getMsg() );
myMsg.setMsg( "Thanks 4 Ur Message" );
objectOutputStream.writeObject( myMsg );
System.out.println( "<" + myMsg.getMsg() );
}

Output (With Same Client)
>Hello
<Thanks 4 Ur Message
>Hello
<Thanks 4 Ur Message


No matter what i do the message received never changes from Hello, eg the 1st message received.

I've tried adding myMsg=null; in the loop but it still does the same.

Cheers for any help ppl can give, its really annoying me that i can't solve this problem

Bud1664