public void listen() { try { LocalServerSocket server = new LocalServerSocket(SOCKET_ADDRESS); LocalSocket receiver = server.accept(); if (receiver != null) { InputStream input = receiver.getInputStream(); byte[] buffer = new byte[1024]; // simply for java.util.ArrayList boolean rec = true; while (rec) { int read = input.read(buffer); if (read == -1) { rec = false; Log.e(TAG, "-1 read in socket"); break; } if (!isRecording) rec = false; if (!headerfound) { int i = ByteArrayFinder.find(buffer, pattern); if (i != -1) { headerfound = true; handleData(tmpch, header); handleData(tmpch, pattern); try { tmp = new byte[read - (i + pattern.length)]; System.arraycopy(buffer, i + pattern.length, tmp, 0, read - (i + pattern.length)); handleData(tmpch, tmp); Log.i(TAG, "Paquet: " + count); count++; } catch (Exception e) { } } } else { tmp = new byte[read]; System.arraycopy(buffer, 0, tmp, 0, read); handleData(tmpch, tmp); Log.i(TAG, "Paquet: " + count); count++; } // out.write(buffer, 0, readed); } headerfound = false; } } catch (IOException e) { Log.e(getClass().getName(), e.getMessage()); } }