Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ObjectInput和OutputStream:第二次发送更改的对象_Java_Sockets_Objectinputstream_Objectoutputstream - Fatal编程技术网

Java ObjectInput和OutputStream:第二次发送更改的对象

Java ObjectInput和OutputStream:第二次发送更改的对象,java,sockets,objectinputstream,objectoutputstream,Java,Sockets,Objectinputstream,Objectoutputstream,我正在编写一个客户机-服务器应用程序,有时需要向客户机发送一个对象。 所以我试了一下: 服务器端: ss = new ServerSocket(port); s = ss.accept(); ize = new HashMap<>(); oos = new ObjectOutputStream(s.getOutputStream()); ize.put("ize", new TileSprite(1, 2, 3, 4, "tile"));

我正在编写一个客户机-服务器应用程序,有时需要向客户机发送一个对象。 所以我试了一下:

服务器端:

    ss = new ServerSocket(port);
    s = ss.accept();

    ize = new HashMap<>();
    oos = new ObjectOutputStream(s.getOutputStream());
    ize.put("ize", new TileSprite(1, 2, 3, 4, "tile"));
    oos.writeObject(ize);
    System.out.println(ize.get("ize").getX());

    //oos = new ObjectOutputStream(s.getOutputStream());
    ize.get("ize").setX(2);
    oos.writeObject(ize);
    System.out.println(ize.get("ize").getX());
客户端:

    s = new Socket("localhost", 12345);
    ois = new ObjectInputStream(s.getInputStream());

    ize = (HashMap<String, GeneralSprite>) ois.readObject();
    System.out.println(ize.get("ize").getX());

    //ois = new ObjectInputStream(s.getInputStream());
    ize = (HashMap<String, GeneralSprite>) ois.readObject();
    System.out.println(ize.get("ize").getX());
除非我从2重新初始化中删除注释,否则我永远不会得到正确的值。我尝试了一些方法,但结果几乎总是一样的:有时我会得到一些错误,或者第二次得到的是相同的旧值x1而不是2


我不认为重新初始化是正确的方法,所以我尝试了ObjectOutputStream.reset方法,但它也不起作用。

如果使用正确,reset会起作用。奇怪的是,上次它不起作用。现在它开始工作了。也许我清理了这个项目。无论如何,谢谢。