Java 类android.net.LocalSocket 实例源码

项目:Android_CCTV    文件:MediaStream.java   
protected void createSockets() throws IOException {

        final String LOCAL_ADDR = "net.majorkernelpanic.streaming-";

        for (int i=0;i<10;i++) {
            try {
                mSocketId = new Random().nextInt();
                mLss = new LocalServerSocket(LOCAL_ADDR+mSocketId);
                break;
            } catch (IOException e1) {}
        }

        mReceiver = new LocalSocket();
        mReceiver.connect( new LocalSocketAddress(LOCAL_ADDR+mSocketId));
        mReceiver.setReceiveBufferSize(500000);
        mReceiver.setSoTimeout(3000);
        mSender = mLss.accept();
        mSender.setSendBufferSize(500000);
    }
项目:Suas-Android    文件:UnixSocketServer.java   
@Override
public void run() {
    while(true) {
        try {
            final LocalSocket socket = localServerSocket.accept();

            final WorkerThread workerThread = new WorkerThread(socket, socketHandler);
            workerThread.setName("SuasUnixSocket " + threadId.incrementAndGet());
            workerThread.setDaemon(true);
            workerThread.start();

        } catch (IOException e) {
            Log.e(LOG_TAG, "Server thread error", e);
            e.printStackTrace();
            break;
        }
    }
}
项目:Dream-Catcher    文件:ProtocolDetectingSocketHandler.java   
@Override
protected void onSecured(LocalSocket socket) throws IOException {
  LeakyBufferedInputStream leakyIn = new LeakyBufferedInputStream(
      socket.getInputStream(),
      SENSING_BUFFER_SIZE);

  if (mHandlers.isEmpty()) {
    throw new IllegalStateException("No handlers added");
  }

  for (int i = 0, N = mHandlers.size(); i < N; i++) {
    HandlerInfo handlerInfo = mHandlers.get(i);
    leakyIn.mark(SENSING_BUFFER_SIZE);
    boolean matches = handlerInfo.magicMatcher.matches(leakyIn);
    leakyIn.reset();
    if (matches) {
      LogUtil.d("Matches!" + handlerInfo.handler.getClass().getSimpleName());
      SocketLike socketLike = new SocketLike(socket, leakyIn);
      handlerInfo.handler.onAccepted(socketLike);
      return;
    }
  }

  throw new IOException("No matching handler, firstByte=" + leakyIn.read());
}
项目:Dream-Catcher    文件:SecureSocketHandler.java   
private static void enforcePermission(Context context, LocalSocket peer)
    throws IOException, PeerAuthorizationException {
  Credentials credentials = peer.getPeerCredentials();

  int uid = credentials.getUid();
  int pid = credentials.getPid();

  if (LogUtil.isLoggable(Log.VERBOSE)) {
    LogUtil.v("Got request from uid=%d, pid=%d", uid, pid);
  }

  String requiredPermission = Manifest.permission.DUMP;
  int checkResult = context.checkPermission(requiredPermission, pid, uid);
  if (checkResult != PackageManager.PERMISSION_GRANTED) {
    throw new PeerAuthorizationException(
        "Peer pid=" + pid + ", uid=" + uid + " does not have " + requiredPermission);
  }
}
项目:weex    文件:ProtocolDetectingSocketHandler.java   
@Override
protected void onSecured(LocalSocket socket) throws IOException {
  LeakyBufferedInputStream leakyIn = new LeakyBufferedInputStream(
      socket.getInputStream(),
      SENSING_BUFFER_SIZE);

  if (mHandlers.isEmpty()) {
    throw new IllegalStateException("No handlers added");
  }

  for (int i = 0, N = mHandlers.size(); i < N; i++) {
    HandlerInfo handlerInfo = mHandlers.get(i);
    leakyIn.mark(SENSING_BUFFER_SIZE);
    boolean matches = handlerInfo.magicMatcher.matches(leakyIn);
    leakyIn.reset();
    if (matches) {
      SocketLike socketLike = new SocketLike(socket, leakyIn);
      handlerInfo.handler.onAccepted(socketLike);
      return;
    }
  }

  throw new IOException("No matching handler, firstByte=" + leakyIn.read());
}
项目:weex    文件:SecureSocketHandler.java   
private static void enforcePermission(Context context, LocalSocket peer)
    throws IOException, PeerAuthorizationException {
  Credentials credentials = peer.getPeerCredentials();

  int uid = credentials.getUid();
  int pid = credentials.getPid();

  if (LogUtil.isLoggable(Log.VERBOSE)) {
    LogUtil.v("Got request from uid=%d, pid=%d", uid, pid);
  }

  String requiredPermission = Manifest.permission.DUMP;
  int checkResult = context.checkPermission(requiredPermission, pid, uid);
  if (checkResult != PackageManager.PERMISSION_GRANTED) {
    throw new PeerAuthorizationException(
        "Peer pid=" + pid + ", uid=" + uid + " does not have " + requiredPermission);
  }
}
项目:androidScreenShareAndControl    文件:Main.java   
private static void write(final LocalSocket socket) {
    new Thread() {
        @Override
        public void run() {
            super.run();
            try {
                final int VERSION = 2;
                BufferedOutputStream outputStream = new BufferedOutputStream(socket.getOutputStream());
                while (true) {
                    Bitmap bitmap = screenshot();
                    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
                    bitmap.compress(Bitmap.CompressFormat.JPEG, 60, byteArrayOutputStream);

                    outputStream.write(2);
                    writeInt(outputStream, byteArrayOutputStream.size());
                    outputStream.write(byteArrayOutputStream.toByteArray());
                    outputStream.flush();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }.start();
}
项目:faceswap    文件:CameraConnector.java   
public void init() {
      try {
          localLoop = new LocalServerSocket("videoserver");
          localReceiver = new LocalSocket();
          localReceiver.connect(localLoop.getLocalSocketAddress());
          localReceiver.setReceiveBufferSize(LOCAL_BUFF_SIZE);
          localReceiver.setSendBufferSize(LOCAL_BUFF_SIZE);

    localSender = localLoop.accept();
          localSender.setReceiveBufferSize(LOCAL_BUFF_SIZE);
          localSender.setSendBufferSize(LOCAL_BUFF_SIZE);

          Log.d(LOG_TAG, "Done: init()");
}catch(IOException e) {
    Log.e(LOG_TAG, "Error in initializing local socket: " + e);
}
  }
项目:RemoteEye    文件:MediaStream.java   
protected void createSockets() throws IOException {

        final String LOCAL_ADDR = "net.majorkernelpanic.streaming-";

        for (int i=0;i<10;i++) {
            try {
                mSocketId = new Random().nextInt();
                mLss = new LocalServerSocket(LOCAL_ADDR+mSocketId);
                break;
            } catch (IOException e1) {}
        }

        mReceiver = new LocalSocket();
        mReceiver.connect( new LocalSocketAddress(LOCAL_ADDR+mSocketId));
        mReceiver.setReceiveBufferSize(500000);
        mReceiver.setSoTimeout(3000);
        mSender = mLss.accept();
        mSender.setSendBufferSize(500000);
    }
项目:intellij-ce-playground    文件:Socket.java   
/**
 * Sends data to the socket.
 *
 * @param data Data to send. Data size is defined by the length of the
 *            array.
 * @throws IOException
 */
public void send(byte[] data) throws IOException {
    // Use local copy of the socket, ensuring it's not going to NULL while
    // we're working with it. If it gets closed, while we're in the middle
    // of data transfer - it's OK, since it will produce an exception, and
    // the caller will gracefully handle it.
    //
    // Same technique is used everywhere in this class where mSocket member
    // is touched.
    LocalSocket socket = mSocket;
    if (socket == null) {
        Logw("'send' request on closed Socket " + mChannelName);
        throw new ClosedChannelException();
    }
    socket.getOutputStream().write(data);
}
项目:intellij-ce-playground    文件:Socket.java   
/**
 * Closes the socket.
 *
 * @return true if socket has been closed in this call, or false if it had
 *         been already closed when this method has been called.
 */
public boolean close() {
    // This is the only place in this class where we will null the socket
    // object. Since this method can be called concurrently from different
    // threads, lets do this under the lock.
    LocalSocket socket;
    synchronized (this) {
        socket = mSocket;
        mSocket = null;
    }
    if (socket != null) {
        try {
            // Force all I/O to stop before closing the socket.
            socket.shutdownInput();
            socket.shutdownOutput();
            socket.close();
            if (DEBUG) Log.d(TAG, "Socket is closed for " + mChannelName);
            return true;
        } catch (IOException e) {
            Loge("Exception " + e + " while closing Socket for " + mChannelName);
        }
    }
    return false;
}
项目:stetho    文件:ProtocolDetectingSocketHandler.java   
@Override
protected void onSecured(LocalSocket socket) throws IOException {
  LeakyBufferedInputStream leakyIn = new LeakyBufferedInputStream(
      socket.getInputStream(),
      SENSING_BUFFER_SIZE);

  if (mHandlers.isEmpty()) {
    throw new IllegalStateException("No handlers added");
  }

  for (int i = 0, N = mHandlers.size(); i < N; i++) {
    HandlerInfo handlerInfo = mHandlers.get(i);
    leakyIn.mark(SENSING_BUFFER_SIZE);
    boolean matches = handlerInfo.magicMatcher.matches(leakyIn);
    leakyIn.reset();
    if (matches) {
      SocketLike socketLike = new SocketLike(socket, leakyIn);
      handlerInfo.handler.onAccepted(socketLike);
      return;
    }
  }

  throw new IOException("No matching handler, firstByte=" + leakyIn.read());
}
项目:stetho    文件:SecureSocketHandler.java   
private static void enforcePermission(Context context, LocalSocket peer)
    throws IOException, PeerAuthorizationException {
  Credentials credentials = peer.getPeerCredentials();

  int uid = credentials.getUid();
  int pid = credentials.getPid();

  if (LogUtil.isLoggable(Log.VERBOSE)) {
    LogUtil.v("Got request from uid=%d, pid=%d", uid, pid);
  }

  String requiredPermission = Manifest.permission.DUMP;
  int checkResult = context.checkPermission(requiredPermission, pid, uid);
  if (checkResult != PackageManager.PERMISSION_GRANTED) {
    throw new PeerAuthorizationException(
        "Peer pid=" + pid + ", uid=" + uid + " does not have " + requiredPermission);
  }
}
项目:fdshare    文件:FileDescriptorFactory.java   
private void processRequestsUntilStopped(LocalSocket fdrecv, ReadableByteChannel status, Writer control) throws IOException, InterruptedException {
    FdReq fileOps;

    while ((fileOps = intake.take()) != FdReq.STOP) {
        FdResp response = null;

        try {
            try {
                response = sendFdRequest(fileOps, control, status, fdrecv);

                if (!responses.offer(response, IO_TIMEOUT, TimeUnit.MILLISECONDS))
                    FdCompat.closeDescriptor(response.fd);
            } catch (IOException ioe) {
                responses.offer(new FdResp(fileOps, ioe.getMessage(), null), IO_TIMEOUT, TimeUnit.MILLISECONDS);

                throw ioe;
            }
        } catch (InterruptedException ie) {
            if (response != null)
                FdCompat.closeDescriptor(response.fd);

            throw ie;
        }
    }
}
项目:OoDroid2    文件:MediaStream.java   
protected void createSockets() throws IOException {

        final String LOCAL_ADDR = "net.majorkernelpanic.streaming-";

        for (int i=0;i<10;i++) {
            try {
                mSocketId = new Random().nextInt();
                mLss = new LocalServerSocket(LOCAL_ADDR+mSocketId);
                break;
            } catch (IOException e1) {}
        }

        mReceiver = new LocalSocket();
        mReceiver.connect( new LocalSocketAddress(LOCAL_ADDR+mSocketId));
        mReceiver.setReceiveBufferSize(1000000);
        mReceiver.setSoTimeout(3000);
        mSender = mLss.accept();
        mSender.setSendBufferSize(1000000);
    }
项目:cInterphone    文件:MediaStream.java   
protected void createSockets() throws IOException {

        final String LOCAL_ADDR = "net.majorkernelpanic.streaming-";

        for (int i=0;i<10;i++) {
            try {
                mSocketId = new Random().nextInt();
                mLss = new LocalServerSocket(LOCAL_ADDR+mSocketId);
                break;
            } catch (IOException e1) {}
        }

        mReceiver = new LocalSocket();
        mReceiver.connect( new LocalSocketAddress(LOCAL_ADDR+mSocketId));
        mReceiver.setReceiveBufferSize(500000);
        mReceiver.setSoTimeout(3000);
        mSender = mLss.accept();
        mSender.setSendBufferSize(500000);
    }
项目:Flyver-Apps    文件:MediaStream.java   
protected void createSockets() throws IOException {

        final String LOCAL_ADDR = "net.majorkernelpanic.streaming-";

        for (int i=0;i<10;i++) {
            try {
                mSocketId = new Random().nextInt();
                mLss = new LocalServerSocket(LOCAL_ADDR+mSocketId);
                break;
            } catch (IOException e1) {}
        }

        mReceiver = new LocalSocket();
        mReceiver.connect( new LocalSocketAddress(LOCAL_ADDR+mSocketId));
        mReceiver.setReceiveBufferSize(500000);
        mReceiver.setSoTimeout(3000);
        mSender = mLss.accept();
        mSender.setSendBufferSize(500000);
    }
项目:Flyver-Apps    文件:MediaStream.java   
protected void createSockets() throws IOException {

        final String LOCAL_ADDR = "net.majorkernelpanic.streaming-";

        for (int i=0;i<10;i++) {
            try {
                mSocketId = new Random().nextInt();
                mLss = new LocalServerSocket(LOCAL_ADDR+mSocketId);
                break;
            } catch (IOException e1) {}
        }

        mReceiver = new LocalSocket();
        mReceiver.connect( new LocalSocketAddress(LOCAL_ADDR+mSocketId));
        mReceiver.setReceiveBufferSize(500000);
        mReceiver.setSoTimeout(3000);
        mSender = mLss.accept();
        mSender.setSendBufferSize(500000);
    }
项目:Flyver-Apps    文件:MediaStream.java   
protected void createSockets() throws IOException {

        final String LOCAL_ADDR = "net.majorkernelpanic.streaming-";

        for (int i=0;i<10;i++) {
            try {
                mSocketId = new Random().nextInt();
                mLss = new LocalServerSocket(LOCAL_ADDR+mSocketId);
                break;
            } catch (IOException e1) {}
        }

        mReceiver = new LocalSocket();
        mReceiver.connect( new LocalSocketAddress(LOCAL_ADDR+mSocketId));
        mReceiver.setReceiveBufferSize(500000);
        mReceiver.setSoTimeout(3000);
        mSender = mLss.accept();
        mSender.setSendBufferSize(500000);
    }
项目:SmartRover    文件:MediaStream.java   
protected void createSockets() throws IOException {

        final String LOCAL_ADDR = "edu.ucsb.cs.capstone.letmypeoplecode.smartrover.streaming-";

        for (int i=0;i<10;i++) {
            try {
                mSocketId = new Random().nextInt();
                mLss = new LocalServerSocket(LOCAL_ADDR+mSocketId);
                break;
            } catch (IOException e1) {}
        }

        mReceiver = new LocalSocket();
        mReceiver.connect( new LocalSocketAddress(LOCAL_ADDR+mSocketId));
        mReceiver.setReceiveBufferSize(500000);
        mReceiver.setSoTimeout(3000);
        mSender = mLss.accept();
        mSender.setSendBufferSize(500000);
    }
项目:mywebio-sdk    文件:WowFirstWorkingTest.java   
@Test(timeout = 1000)
public void simplestGet() throws IOException, InterruptedException {
    // given
    Service service = startService();

    // when
    LocalSocket clientSocket = new LocalSocket();
    clientSocket.connect(new LocalSocketAddress("doesn't matter now"));
    OutputStream os = clientSocket.getOutputStream();
    os.write(GET_1.getBytes());
    os.close();

    // then
    InputStream is = clientSocket.getInputStream();
    String response = IOUtils.toString(is);
    System.out.println("response: " + response);
    String expectedBody = new Test1().test();
    assertThat(response, containsString(expectedBody));
}
项目:mywebio-sdk    文件:WowFirstWorkingTest.java   
@Test(timeout = 1000)
public void simplestPost() throws IOException, InterruptedException {
    // given
    Service service = startService();

    // when
    LocalSocket clientSocket = new LocalSocket();
    clientSocket.connect(new LocalSocketAddress("doesn't matter now"));
    OutputStream os = clientSocket.getOutputStream();
    os.write(POST_1.getBytes());
    os.close();

    // then
    InputStream is = clientSocket.getInputStream();
    String response = IOUtils.toString(is);
    System.out.println("response: " + response);
    String expectedBody = new TestPost().post(11, "somename");
    assertThat(response, containsString(expectedBody));
}
项目:mywebio-sdk    文件:WowFirstWorkingTest.java   
@Test(timeout = 1000)
public void shouldParseLongGetRequests() throws IOException {
    // given
    Service service = startService();

    // when
    LocalSocket clientSocket = new LocalSocket();
    clientSocket.connect(new LocalSocketAddress("doesn't matter now"));
    OutputStream os = clientSocket.getOutputStream();
    os.write(GET_LONG_1.getBytes()); // two long requests
    os.write(GET_LONG_1.getBytes());
    os.close();

    // then
    InputStream is = clientSocket.getInputStream();
    String response = IOUtils.toString(is);
    System.out.println("response: " + response);
    String expectedBody = new Test1().test();
    assertThat(response, containsString(expectedBody));
}
项目:mywebio-sdk    文件:HeaderTest.java   
@Test(timeout = 1000)
public void headersShouldBeDecoded() throws IOException {
    // given
    Service service = new Service();
    service.onCreate();
    service.onStartCommand(new Intent(), 0, 0);

    // when
    LocalSocket clientSocket = new LocalSocket();
    clientSocket.connect(new LocalSocketAddress("doesn't matter now"));
    OutputStream os = clientSocket.getOutputStream();
    os.write(GET_1.getBytes());
    os.close();

    // then
    InputStream is = clientSocket.getInputStream();
    String response = IOUtils.toString(is);
    System.out.println("response: " + response);
    assertThat(response, containsString("localhost"));
    assertThat(response, containsString("b=2"));
    assertThat(response, containsString("a=1"));
}
项目:mywebio-sdk    文件:CookieTest.java   
@Test(timeout = 1000)
public void cookieShouldBeReturned() throws IOException, InterruptedException {
    // given
    Service service = new Service();
    service.onCreate();
    service.onStartCommand(new Intent(), 0, 0);

    // when
    LocalSocket clientSocket = new LocalSocket();
    clientSocket.connect(new LocalSocketAddress("doesn't matter now"));
    OutputStream os = clientSocket.getOutputStream();
    os.write(GET_1.getBytes());
    os.close();

    // then
    InputStream is = clientSocket.getInputStream();
    String response = IOUtils.toString(is);
    System.out.println("response: " + response);
    String expectedBody = "Set-Cookie: COOKIE_NAME=cookieValuecookieValue";
    assertThat(response, containsString(expectedBody));
}
项目:mywebio-sdk    文件:CookieTest.java   
@Test(timeout = 1000)
public void cookieShouldBeAccepted() throws IOException, InterruptedException {
    // given
    Service service = new Service();
    service.onCreate();
    service.onStartCommand(new Intent(), 0, 0);

    // when
    LocalSocket clientSocket = new LocalSocket();
    clientSocket.connect(new LocalSocketAddress("doesn't matter now"));
    OutputStream os = clientSocket.getOutputStream();
    os.write(GET_2.getBytes());
    os.close();

    // then
    InputStream is = clientSocket.getInputStream();
    String response = IOUtils.toString(is);
    System.out.println("response: " + response);
    String expectedBody = "cookieValuecookieValue";
    assertThat(response, containsString(expectedBody));
}
项目:VirtualSensors    文件:Socket.java   
/**
 * Sends data to the socket.
 *
 * @param data Data to send. Data size is defined by the length of the
 *            array.
 * @throws IOException
 */
public void send(byte[] data) throws IOException {
    // Use local copy of the socket, ensuring it's not going to NULL while
    // we're working with it. If it gets closed, while we're in the middle
    // of data transfer - it's OK, since it will produce an exception, and
    // the caller will gracefully handle it.
    //
    // Same technique is used everywhere in this class where mSocket member
    // is touched.
    LocalSocket socket = mSocket;
    if (socket == null) {
        Logw("'send' request on closed Socket " + mChannelName);
        throw new ClosedChannelException();
    }
    socket.getOutputStream().write(data);
}
项目:VirtualSensors    文件:Socket.java   
/**
 * Closes the socket.
 *
 * @return true if socket has been closed in this call, or false if it had
 *         been already closed when this method has been called.
 */
public boolean close() {
    // This is the only place in this class where we will null the socket
    // object. Since this method can be called concurrently from different
    // threads, lets do this under the lock.
    LocalSocket socket;
    synchronized (this) {
        socket = mSocket;
        mSocket = null;
    }
    if (socket != null) {
        try {
            // Force all I/O to stop before closing the socket.
            socket.shutdownInput();
            socket.shutdownOutput();
            socket.close();
            if (DEBUG) Log.d(TAG, "Socket is closed for " + mChannelName);
            return true;
        } catch (IOException e) {
            Loge("Exception " + e + " while closing Socket for " + mChannelName);
        }
    }
    return false;
}
项目:spydroid-ipcamera    文件:MediaStream.java   
protected void createSockets() throws IOException {

        final String LOCAL_ADDR = "net.majorkernelpanic.streaming-";

        for (int i=0;i<10;i++) {
            try {
                mSocketId = new Random().nextInt();
                mLss = new LocalServerSocket(LOCAL_ADDR+mSocketId);
                break;
            } catch (IOException e1) {}
        }

        mReceiver = new LocalSocket();
        mReceiver.connect( new LocalSocketAddress(LOCAL_ADDR+mSocketId));
        mReceiver.setReceiveBufferSize(500000);
        mReceiver.setSoTimeout(3000);
        mSender = mLss.accept();
        mSender.setSendBufferSize(500000);
    }
项目:silvertunnel-ng    文件:LocalProxySocket.java   
public LocalProxySocket(Socket original) throws TorException {
    super();
    try {
        // Prepare LocalSocket which will be used to trick the SSLSocket (or any other one)
        localSocketSend = new LocalSocket();
        // Local socket name
        String socketName = "local" + UUID.randomUUID();
        localServerSocket = new LocalServerSocket(socketName);
        localSocketSend.connect(new LocalSocketAddress(socketName));
        localSocketRecv = localServerSocket.accept();
        this.originalSocket = original;
        // Create 2 Threads which are taking care of the communication between the LocalSocket and the original Socket
        LocalProxyWorker lpw1 = new LocalProxyWorker(localSocketRecv.getInputStream(), originalSocket.getOutputStream(), "to");
        LocalProxyWorker lpw2 = new LocalProxyWorker(originalSocket.getInputStream(), localSocketRecv.getOutputStream(), "from");
        Thread t1 = new Thread(lpw1);
        Thread t2 = new Thread(lpw2);
        t1.start();
        t2.start();
        // Prepare this Socket to contain the FileDescriptor of the LocalSocket
        FileDescriptor fd = localSocketSend.getFileDescriptor();
        SocketImpl socketImpl = (SocketImpl) Class.forName("java.net.PlainSocketImpl").getConstructor(FileDescriptor.class).newInstance(fd);
        Field implField = this.getClass().getSuperclass().getDeclaredField("impl");
        implField.setAccessible(true);
        implField.set(this, socketImpl);
    } catch (Exception e) {
        LOG.debug("Got Exception while trying to create LocalProxySocket", e);
        throw new TorException("could not create LocalProxySocket", e);
    }
}
项目:ROLF-EV3    文件:MediaStream.java   
protected void createSockets() throws IOException {

        if (sPipeApi == PIPE_API_LS) {

            final String LOCAL_ADDR = "com.galuu.ev3videocontrol.streaming-";

            for (int i=0;i<10;i++) {
                try {
                    mSocketId = new Random().nextInt();
                    mLss = new LocalServerSocket(LOCAL_ADDR+mSocketId);
                    break;
                } catch (IOException e1) {}
            }

            mReceiver = new LocalSocket();
            mReceiver.connect( new LocalSocketAddress(LOCAL_ADDR+mSocketId));
            mReceiver.setReceiveBufferSize(500000);
            mReceiver.setSoTimeout(3000);
            mSender = mLss.accept();
            mSender.setSendBufferSize(500000);

        } else {
            Log.e(TAG, "parcelFileDescriptors createPipe version = Lollipop");
            mParcelFileDescriptors = ParcelFileDescriptor.createPipe();
            mParcelRead = new ParcelFileDescriptor(mParcelFileDescriptors[0]);
            mParcelWrite = new ParcelFileDescriptor(mParcelFileDescriptors[1]);
        }
    }
项目:pet    文件:SocketServiceManager.java   
public SocketSession(String name, LocalSocket socket, SocketBinder binder) throws IOException {
    mName = name;
    mSocket = socket;
    mBinder = binder;
    mInputStream = new DataInputStream(mSocket.getInputStream());
    mOutputStream = new DataOutputStream(mSocket.getOutputStream());
    mBinder.setLocalSocket(socket);
}
项目:Dream-Catcher    文件:SocketLike.java   
public SocketLike(LocalSocket socket, LeakyBufferedInputStream leakyInput) {
    OutputStream temp = null;
    try {
        temp = socket.getOutputStream();
    } catch (IOException e) {
        e.printStackTrace();
    }
    outputStream = temp;
    mLeakyInput = leakyInput;
}
项目:Dream-Catcher    文件:SecureSocketHandler.java   
@Override
public final void onAccepted(LocalSocket socket) throws IOException {
  try {
    enforcePermission(mContext, socket);
    onSecured(socket);
  } catch (PeerAuthorizationException e) {
    LogUtil.e("Unauthorized request: " + e.getMessage());
  }
}
项目:weex    文件:LocalSocketServer.java   
private void listenOnAddress(String address) throws IOException {
  mServerSocket = bindToSocket(address);
  LogUtil.i("Listening on @" + address);

  while (!Thread.interrupted()) {
    try {
      // Use previously accepted socket the first time around, otherwise wait to
      // accept another.
      LocalSocket socket = mServerSocket.accept();

      // Start worker thread
      Thread t = new WorkerThread(socket, mSocketHandler);
      t.setName(
          WORKER_THREAD_NAME_PREFIX +
          "-" + mFriendlyName +
          "-" + mThreadId.incrementAndGet());
      t.setDaemon(true);
      t.start();
    } catch (SocketException se) {
      // ignore exception if interrupting the thread
      if (Thread.interrupted()) {
        break;
      }
      LogUtil.w(se, "I/O error");
    } catch (InterruptedIOException ex) {
      break;
    } catch (IOException e) {
      LogUtil.w(e, "I/O error initialising connection thread");
      break;
    }
  }

  LogUtil.i("Server shutdown on @" + address);
}
项目:weex    文件:SecureSocketHandler.java   
@Override
public final void onAccepted(LocalSocket socket) throws IOException {
  try {
    enforcePermission(mContext, socket);
    onSecured(socket);
  } catch (PeerAuthorizationException e) {
    LogUtil.e("Unauthorized request: " + e.getMessage());
  }
}
项目:Endoscope    文件:MediaStream.java   
protected void createSockets() throws IOException {

        if (sPipeApi == PIPE_API_LS) {

            final String LOCAL_ADDR = "net.majorkernelpanic.streaming-";

            for (int i=0;i<10;i++) {
                try {
                    mSocketId = new Random().nextInt();
                    mLss = new LocalServerSocket(LOCAL_ADDR+mSocketId);
                    break;
                } catch (IOException e1) {}
            }

            mReceiver = new LocalSocket();
            mReceiver.connect( new LocalSocketAddress(LOCAL_ADDR+mSocketId));
            mReceiver.setReceiveBufferSize(500000);
            mReceiver.setSoTimeout(3000);
            mSender = mLss.accept();
            mSender.setSendBufferSize(500000);

        } else {
            Log.e(TAG, "parcelFileDescriptors createPipe version = Lollipop");
            mParcelFileDescriptors = ParcelFileDescriptor.createPipe();
            mParcelRead = new ParcelFileDescriptor(mParcelFileDescriptors[0]);
            mParcelWrite = new ParcelFileDescriptor(mParcelFileDescriptors[1]);
        }
    }
项目:intellij-ce-playground    文件:Connection.java   
/**
 * Wakes I/O looper waiting on connection with the emulator.
 *
 * @param socket Server socket waiting on connection.
 */
private void wakeIOLooper(LocalServerSocket socket) {
    // We wake the looper by connecting to the socket.
    LocalSocket waker = new LocalSocket();
    try {
        waker.connect(socket.getLocalSocketAddress());
    } catch (IOException e) {
        Loge("Exception " + e + " in SdkControllerConnection while waking up the I/O looper.");
    }
}
项目:intellij-ce-playground    文件:Connection.java   
/**
 * Loops on the local socket, handling emulator connection attempts.
 */
private void runIOLooper() {
    if (DEBUG) Log.d(TAG, "In SdkControllerConnection I/O looper.");
    do {
        try {
            // Create non-blocking server socket that would listen for connections,
            // and bind it to the given port on the local host.
            mServerSocket = new LocalServerSocket(SDK_CONTROLLER_PORT);
            LocalServerSocket socket = mServerSocket;
            while (socket != null) {
                final LocalSocket sk = socket.accept();
                if (mServerSocket != null) {
                    onAccept(sk);
                } else {
                    break;
                }
                socket = mServerSocket;
            }
        } catch (IOException e) {
            Loge("Exception " + e + "SdkControllerConnection I/O looper.");
        }
        if (DEBUG) Log.d(TAG, "Exiting SdkControllerConnection I/O looper.");

      // If we're exiting the internal loop for reasons other than an explicit
      // disconnect request, we should reconnect again.
    } while (disconnect());
}
项目:intellij-ce-playground    文件:Socket.java   
/**
 * Sends data to the socket.
 *
 * @param data Data to send.
 * @param offset The start position in data from where to get bytes.
 * @param len The number of bytes from data to write to this socket.
 * @throws IOException
 */
public void send(byte[] data, int offset, int len) throws IOException {
    LocalSocket socket = mSocket;
    if (socket == null) {
        Logw("'send' request on closed Socket " + mChannelName);
        throw new ClosedChannelException();
    }
    socket.getOutputStream().write(data, offset, len);
}