private byte[] readNextPacket(SocketChannel channel) throws IOException { header.clear(); read(channel, header); int bodyLen = header.getInt(0); ByteBuffer bodyBuf = ByteBuffer.allocate(bodyLen); read(channel, bodyBuf); return bodyBuf.array(); }