我试图找到这个问题的解决方案,但我认为这是我问你的最后一个选择。 所以我想通过套接字流发送两个数组列表:
objects= new ArrayList<GObject>();
registry = new ArrayList<Registry>();
我正在使用它:
发送:
outToClient.reset();//outtoclient is an objectoutput stream
outToClient.writeObject(registry);
outToClient.reset();
outToClient.writeObject(objects);
接收:
registry2=(ArrayList<Registry>) inFromServer.readObject();
objects2=(ArrayList<GObject>) inFromServer.readObject();
随着注册表顺利进入“另一方”,对象不是。 我该如何解决这个问题?
答案 0 :(得分:0)
你可以在程序中使用一些技巧,我会给你一个:
考虑我将发送和Object X
,在我发送之前,我将发送任何类型的标志,例如String
,以通知我的目的地我将向您发送Object X
,所以目标存储此标志,当我发送我的对象时,它会将其转换为正确的对象。
服务器:发送
flag
客户:接收
flag
并存储服务器:发送
Object X
客户:接收
Object X
客户:将
Object X
投射为与您的国旗相同
例如:
if(flag.equals("t1")){
registry2=(ArrayList<Registry>) inFromServer.readObject();
}else if(flag.equals("t2")){
objects2=(ArrayList<GObject>) inFromServer.readObject();
}else{
//...
}
现在您有了一个想法,如何做到这一点,您只需要用自己的信息来实现它。