1、问题描述及代码

快递管理中有一个查看所有快递,我的服务器获取到所有快递之后,向客户端发送所有快递数据的时候,第一次没有问题,但是第二次及以后出现问题,客户端那边一直都是第一次调用查看所有快递之后的数据,不是服务器发送过去的新数据。
我查了很多资料没解决,就先放着了,因为第一次能成功,后边确实不知道什么原因。

服务器代码:

  1. /**
  2. * 显示所有快递
  3. *
  4. * @param oos 输出流
  5. * @throws IOException 异常
  6. */
  7. void showAll(ObjectOutputStream oos) throws IOException {
  8. ArrayList<Express> expresses = expressData.findAll();
  9. // 这里是为了观察
  10. if (expresses != null) System.out.println(expresses.toString());
  11. oos.writeObject(expresses);
  12. oos.flush();
  13. }

客户端代码:

    /**
     * 显示所有快递
     *
     * @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、问题截图:

第一次查看所有快递没有问题:
服务器发送的:
image.png
客户端拿到的:
image.png
———————————————————————————————————————————————————————————-
但是当添加一个快递之后:
服务器发送的:
image.png
客户端拿到的:
没有拿到服务器发送的,还是原来的第一次查询得到的那个数据。
image.png