Бесконечное чтение в Socket

клиент:

        try (Socket socket = new Socket()) {
            socket.connect(new InetSocketAddress("127.0.0.1", 2000));
            socket.getOutputStream().write("data".getBytes(StandardCharsets.UTF_8));
            socket.getOutputStream().flush();
            System.out.println("write 1");
            System.out.println(new String(socket.getInputStream().readAllBytes()).intern());
            System.out.println("read 1");
            socket.getOutputStream().write("data".getBytes(StandardCharsets.UTF_8));
            socket.getOutputStream().flush();
            System.out.println("write 2");
        } catch (Throwable throwable) {
            throw new RuntimeException(throwable);
        }

сервер:

        try (ServerSocket server = new ServerSocket(2000)) {
            Socket socket;
            while ((socket = server.accept()) != null) {
                System.out.println(new String(socket.getInputStream().readAllBytes()).intern());
                System.out.println("read 1");
                socket.getOutputStream().write(new byte[1024]);
                socket.getOutputStream().flush();
                System.out.println("write 1");
                System.out.println(new String(socket.getInputStream().readAllBytes()).intern());
                System.out.println("read 2");
            }
        } catch (Throwable throwable) {
            throw new RuntimeException(throwable);
        }

после "write 1" сервер начинает бесконечно читать то что отправил ему клиент, и если отправлять с сервера на клиент вместо клиента на сервер происходит тоже самое.


Ответы (0 шт):