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、问题截图:
第一次查看所有快递没有问题:
服务器发送的:
客户端拿到的:
———————————————————————————————————————————————————————————-
但是当添加一个快递之后:
服务器发送的:
客户端拿到的:
没有拿到服务器发送的,还是原来的第一次查询得到的那个数据。