我创建了一个实现可序列化的类。当我通过我的服务器 - 客户端应用程序收到它的对象时,我只得到它的第一个实例, 然后无论对象被修改了多少次,objectInputStream都只接收第一次发送的对象.WHy?
这实际上是一个摇摆应用程序 我的应用程序同时运行了一个chatpart和一个游戏部分。
面板将我的游戏对象发送到服务器/客户端对象
this.getServer1().sendGame(panel1.getMyGame());
public void sendGame(Game g1) throws IOException{
output.writeObject(g1);
output.flush();
}
服务器或客户端部分正在线程上运行
它从游戏部分或聊天部分读取数据,聊天部分工作正常
Object next = input.readObject();
if (next instanceof Game) {
game1 = (Game)next;
panel1.setHisGame(game1);
}
else if (next instanceof String) {
message = (String)next;
...
}
gameclass只是一个带有一些String属性和实现Serializable
的简单类答案 0 :(得分:0)
我已经解决了。 在面板将mygameobject发送到服务器之前,我必须创建整个新对象并用mygameobject的数据填充它。这就是它的工作方式。