RMI要求你要传递的对象必须为可序列话的。既是implements Serilizable.你要传递的ObjectInputStream 只实现了DataInput, ObjectInput, ObjectStreamConstants 而没有实现Serilizable所以不行。要解决这个问题可以用继承的方法SubObjectInputStream extends ObjectInputStream implements Serilizable 然后在改写为public SubObjectInputStream getStream()就可以了。
public class SeObjectInputStream extends ObjectInputStream implements Serializable
{
SeObjectInputStream(InputStream is) throws IOException
{
super(is);
}
}
但是这样在客户端得SeObjectInputStream流正常了,但是却不能从中间取到值
是否应该在子类中实现他的一些方法呢?
我很好奇的问一下,你为什么要远程传递ObjectInputStream呀?把它传过去要做什么?