1、问题描述及代码
快递管理中有一个查看所有快递,我的服务器获取到所有快递之后,向客户端发送所有快递数据的时候,第一次没有问题,但是第二次及以后出现问题,客户端那边一直都是第一次调用查看所有快递之后的数据,不是服务器发送过去的新数据。
我查了很多资料没解决,就先放着了,因为第一次能成功,后边确实不知道什么原因。
服务器代码:
/*** 显示所有快递** @param oos 输出流* @throws IOException 异常*/void showAll(ObjectOutputStream oos) throws IOException {ArrayList<Express> expresses = expressData.findAll();// 这里是为了观察if (expresses != null) System.out.println(expresses.toString());oos.writeObject(expresses);oos.flush();}
客户端代码:
/**
* 显示所有快递
*
* @param ois 输入流
* @throws IOException 异常
* @throws ClassNotFoundException 异常
*/
void showAll(ObjectInputStream ois) throws IOException, ClassNotFoundException {
ArrayList<Express> expresses = (ArrayList<Express>) ois.readObject();
if (expresses != null) System.out.println(expresses.toString());
view.showAllExpressView(expresses);
}
2、问题截图:
第一次查看所有快递没有问题:
服务器发送的:
客户端拿到的:
———————————————————————————————————————————————————————————-
但是当添加一个快递之后:
服务器发送的:
客户端拿到的:
没有拿到服务器发送的,还是原来的第一次查询得到的那个数据。
