diff --git a/core-java-modules/core-java-nio-2/src/main/java/com/baeldung/selector/EchoServer.java b/core-java-modules/core-java-nio-2/src/main/java/com/baeldung/selector/EchoServer.java index 9e9edcd0ba..c8b638dc04 100644 --- a/core-java-modules/core-java-nio-2/src/main/java/com/baeldung/selector/EchoServer.java +++ b/core-java-modules/core-java-nio-2/src/main/java/com/baeldung/selector/EchoServer.java @@ -45,8 +45,9 @@ public class EchoServer { private static void answerWithEcho(ByteBuffer buffer, SelectionKey key) throws IOException { SocketChannel client = (SocketChannel) key.channel(); - client.read(buffer); - if (new String(buffer.array()).trim().equals(POISON_PILL)) { + int r = client.read(buffer); + if (r == -1 || new String(buffer.array()).trim() + .equals(POISON_PILL)) { client.close(); System.out.println("Not accepting client messages anymore"); } else {