Java 类android.net.LocalServerSocket 实例源码

项目: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);
    }
项目:fastdex    文件:Server.java   
private Server(String packageName) {
    try {
        serverSocket = new LocalServerSocket(packageName);
        if (Log.isLoggable(Logging.LOG_TAG, Log.VERBOSE)) {
            Log.v(Logging.LOG_TAG, "Starting server socket listening for package " + packageName
                    + " on " + serverSocket.getLocalSocketAddress());
        }
    } catch (IOException e) {
        Log.e(Logging.LOG_TAG, "IO Error creating local socket at " + packageName, e);
        return;
    }
    startServer();

    if (Log.isLoggable(Logging.LOG_TAG, Log.VERBOSE)) {
        Log.v(Logging.LOG_TAG, "Started server for package " + packageName);
    }
}
项目:Dream-Catcher    文件:LocalSocketServer.java   
@Nonnull
private static LocalServerSocket bindToSocket(String address) throws IOException {
  int retries = MAX_BIND_RETRIES;
  IOException firstException = null;
  do {
    try {
      LogUtil.e("Trying to bind to @" + address);
      return new LocalServerSocket(address);
    } catch (BindException be) {
      LogUtil.e(be, "Binding error, sleep " + TIME_BETWEEN_BIND_RETRIES_MS + " ms...");
      if (firstException == null) {
        firstException = be;
      }
      Util.sleepUninterruptibly(TIME_BETWEEN_BIND_RETRIES_MS);
    }
  } while (retries-- > 0);

  throw firstException;
}
项目:weex    文件:LocalSocketServer.java   
@Nonnull
private static LocalServerSocket bindToSocket(String address) throws IOException {
  int retries = MAX_BIND_RETRIES;
  IOException firstException = null;
  do {
    try {
      if (LogUtil.isLoggable(Log.DEBUG)) {
        LogUtil.d("Trying to bind to @" + address);
      }
      return new LocalServerSocket(address);
    } catch (BindException be) {
      LogUtil.w(be, "Binding error, sleep " + TIME_BETWEEN_BIND_RETRIES_MS + " ms...");
      if (firstException == null) {
        firstException = be;
      }
      Util.sleepUninterruptibly(TIME_BETWEEN_BIND_RETRIES_MS);
    }
  } while (retries-- > 0);

  throw firstException;
}
项目: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);
    }
项目:stetho    文件:LocalSocketServer.java   
@Nonnull
private static LocalServerSocket bindToSocket(String address) throws IOException {
  int retries = MAX_BIND_RETRIES;
  IOException firstException = null;
  do {
    try {
      if (LogUtil.isLoggable(Log.DEBUG)) {
        LogUtil.d("Trying to bind to @" + address);
      }
      return new LocalServerSocket(address);
    } catch (BindException be) {
      LogUtil.w(be, "Binding error, sleep " + TIME_BETWEEN_BIND_RETRIES_MS + " ms...");
      if (firstException == null) {
        firstException = be;
      }
      Util.sleepUninterruptibly(TIME_BETWEEN_BIND_RETRIES_MS);
    }
  } while (retries-- > 0);

  throw firstException;
}
项目:AndroidLife    文件:Server.java   
/**
 * 私有构造方法
 * 主要是实例化一个 LocalServerSocket
 * 然后调用 startServer() 方法
 *
 * @param packageName packageName
 * @param application application
 */
private Server(@NonNull String packageName, @NonNull Application application) {
    mApplication = application;
    try {
        mServerSocket = new LocalServerSocket(packageName);
        if (Log.isLoggable(LOG_TAG, Log.VERBOSE)) {
            Log.v(LOG_TAG, "Starting server socket listening for package " + packageName
                + " on " + mServerSocket.getLocalSocketAddress());
        }
    } catch (IOException e) {
        Log.e(LOG_TAG, "IO Error creating local socket at " + packageName, e);
        return;
    }
    startServer();

    if (Log.isLoggable(LOG_TAG, Log.VERBOSE)) {
        Log.v(LOG_TAG, "Started server for package " + packageName);
    }
}
项目:fdshare    文件:FileDescriptorFactory.java   
@VisibleForTesting
static FileDescriptorFactory create(String address, String... cmd) throws IOException {
    // must be created before the process
    final LocalServerSocket socket = new LocalServerSocket(address);
    try {
        final Process shell = new ProcessBuilder(cmd)
                .redirectErrorStream(true)
                .start();

        final FileDescriptorFactory result = new FileDescriptorFactory(shell, socket);

        result.startServer();

        return result;
    } catch (Throwable t) {
        shut(socket);

        throw t;
    }
}
项目:binea_project_for_android    文件:Server.java   
private Server(String packageName, Application application) {
    this.mApplication = application;
    try {
        this.mServerSocket = new LocalServerSocket(packageName);
        if (Log.isLoggable("InstantRun", 2)) {
            Log.v("InstantRun",
                  "Starting server socket listening for package " + packageName + " on " + this.mServerSocket.getLocalSocketAddress());
        }
    } catch (IOException e) {
        Log.e("InstantRun", "IO Error creating local socket at " + packageName, e);
        return;
    }
    startServer();
    if (Log.isLoggable("InstantRun", 2)) {
        Log.v("InstantRun", "Started server for package " + packageName);
    }
}
项目: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);
    }
项目: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);
    }
项目:AppCenter-Test-Espresso-Extensions    文件:LocalSocketEventReporter.java   
public LocalSocketEventReporter(String socketName, int timeoutInSec) {
    EventServer server1;
    try {
        LocalServerSocket socket = new LocalServerSocket(socketName);
        server1 = new EventServer(socket, timeoutInSec, TimeUnit.SECONDS);
    } catch (IOException e) {
        server1 = null;
        new RuntimeException("Unable to create server socket");
    }
    this.server = server1;
}
项目:AppCenter-Test-Espresso-Extensions    文件:EventServerTest.java   
@Test
public void sendSync_will_return_false_if_no_one_listens() throws Exception {
    String socketName = "junitevent";
    LocalServerSocket socket = new LocalServerSocket(socketName);
    EventServer server = new EventServer(socket, 10, TimeUnit.MILLISECONDS);

    boolean b = server.sendSync(Event.create("id", EventType.started, "testName", "className", "1"));
    server.stop();

    assertFalse("sendSync without a listener should return false", b);
}
项目:AppCenter-Test-Espresso-Extensions    文件:EventServerTest.java   
@Test
public void sendSync_will_return_true_if_some_one_listens() throws Exception {
    String socketName = "junitevent2";
    LocalServerSocket socket = new LocalServerSocket(socketName);
    EventServer server = new EventServer(socket, 10, TimeUnit.SECONDS);
    TestEventClient client = new TestEventClient(socketName);

    boolean b = server.sendSync(Event.create("id", EventType.started, "testName", "className", "1"));
    server.stop();
    client.stop();

    assertTrue("sendSync with a listener should return true", b);
}
项目: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]);
        }
    }
项目:sony-smartband-logger    文件:AccessorySensor.java   
/**
 * Create socket to be able to read sensor data
 */
private void openSocket() throws AccessorySensorException {
    try {
        // Open socket
        mLocalServerSocket = new LocalServerSocket(mSocketName);

        // Stop server listening thread if running
        if (mServerThread != null) {
            mServerThread.interrupt();
            mServerThread = null;
        }

        // Start server listening thread
        mServerThread = new ServerThread(new Handler() {
            public void handleMessage(Message msg) {
                AccessorySensorEvent accessorySensorEvent = (AccessorySensorEvent)msg.obj;
                if (accessorySensorEvent != null && mListener != null) {
                    mListener.onSensorEvent(accessorySensorEvent);
                }
            }
        });
        mServerThread.start();

        // Send intent to Aha
        sendSensorStartListeningIntent();
    } catch (IOException e) {
        if (Dbg.DEBUG) {
            Dbg.e(e.getMessage(), e);
        }
        throw new AccessorySensorException(e.getMessage());
    }
}
项目:locus-addon-smartwatch2    文件:AccessorySensor.java   
/**
 * Create socket to be able to read sensor data
 */
private void openSocket() throws AccessorySensorException {
    try {
        // Open socket
        mLocalServerSocket = new LocalServerSocket(mSocketName);

        // Stop server listening thread if running
        if (mServerThread != null) {
            mServerThread.interrupt();
            mServerThread = null;
        }

        // Start server listening thread
        mServerThread = new ServerThread(new Handler() {
            @Override
            public void handleMessage(Message msg) {
                AccessorySensorEvent accessorySensorEvent = (AccessorySensorEvent)msg.obj;
                if (accessorySensorEvent != null && mListener != null) {
                    mListener.onSensorEvent(accessorySensorEvent);
                }
            }
        });
        mServerThread.start();

        // Send intent to Aha
        sendSensorStartListeningIntent();
    } catch (IOException e) {
        if (Dbg.DEBUG) {
            Dbg.e(e.getMessage(), e);
        }
        throw new AccessorySensorException(e.getMessage());
    }
}
项目:test-cloud-espresso-extensions    文件:LocalSocketEventReporter.java   
public LocalSocketEventReporter(String socketName, int timeoutInSec) {
    EventServer server1;
    try {
        LocalServerSocket socket = new LocalServerSocket(socketName);
        server1 = new EventServer(socket, timeoutInSec, TimeUnit.SECONDS);
    } catch (IOException e) {
        server1 = null;
        new RuntimeException("Unable to create server socket");
    }
    this.server = server1;
}
项目:test-cloud-espresso-extensions    文件:EventServerTest.java   
@Test
public void sendSync_will_return_false_if_no_one_listens() throws Exception {
    String socketName = "junitevent";
    LocalServerSocket socket = new LocalServerSocket(socketName);
    EventServer server = new EventServer(socket, 10, TimeUnit.MILLISECONDS);

    boolean b = server.sendSync(Event.create("id", EventType.started, "testName", "className", 1));
    server.stop();

    assertFalse("sendSync without a listener should return false", b);
}
项目:test-cloud-espresso-extensions    文件:EventServerTest.java   
@Test
public void sendSync_will_return_true_if_some_one_listens() throws Exception {
    String socketName = "junitevent2";
    LocalServerSocket socket = new LocalServerSocket(socketName);
    EventServer server = new EventServer(socket, 10, TimeUnit.SECONDS);
    TestEventClient client = new TestEventClient(socketName);

    boolean b = server.sendSync(Event.create("id", EventType.started, "testName", "className", 1));
    server.stop();
    client.stop();

    assertTrue("sendSync with a listener should return true", b);
}
项目: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   
/**
 * Stops the listener, and closes the socket.
 *
 * @return true if connection has been stopped in this call, or false if it
 *         has been already stopped when this method has been called.
 */
public boolean disconnect() {
    // 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.
    LocalServerSocket socket;
    synchronized (this) {
        socket = mServerSocket;
        mServerSocket = null;
    }
    if (socket != null) {
        if (DEBUG) Log.d(TAG, "SdkControllerConnection is stopping I/O looper...");
        // Stop accepting new connections.
        wakeIOLooper(socket);
        try {
            socket.close();
        } catch (Exception e) {
        }

        // Close all the pending sockets, and clear pending socket list.
        if (DEBUG) Log.d(TAG, "SdkControllerConnection is closing pending sockets...");
        for (Socket pending_socket : mPendingSockets) {
            pending_socket.close();
        }
        mPendingSockets.clear();

        // Disconnect all the emualtors.
        if (DEBUG) Log.d(TAG, "SdkControllerConnection is disconnecting channels...");
        for (Channel channel : mChannels) {
            if (channel.disconnect()) {
                channel.onEmulatorDisconnected();
            }
        }
        if (DEBUG) Log.d(TAG, "SdkControllerConnection is disconnected.");
    }
    return socket != null;
}
项目: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());
}
项目:DroneControl    文件:SmartEyeglassControlUtils.java   
/**
 * Creates a thread which can read from the socket.
 *
 * @param handler The handler to post messages on.
 */
public ServerThread(final Handler handler, final LocalServerSocket localServerSocket,
        final int index) {
    mHandler = handler;
    mLocalServerSocket = localServerSocket;
    mIndex = index;
}
项目:DroneControl    文件:AccessorySensor.java   
/**
 * Create socket to be able to read sensor data
 */
private void openSocket() throws AccessorySensorException {
    try {
        // Open socket
        mLocalServerSocket = new LocalServerSocket(mSocketName);

        // Stop server listening thread if running
        if (mServerThread != null) {
            mServerThread.interrupt();
            mServerThread = null;
        }

        // Start server listening thread
        mServerThread = new ServerThread(new Handler() {
            @Override
            public void handleMessage(Message msg) {
                AccessorySensorEvent accessorySensorEvent = (AccessorySensorEvent)msg.obj;
                if (accessorySensorEvent != null && mListener != null) {
                    mListener.onSensorEvent(accessorySensorEvent);
                }
            }
        });
        mServerThread.start();

        // Send intent to Aha
        sendSensorStartListeningIntent();
    } catch (IOException e) {
        if (Dbg.DEBUG) {
            Dbg.e(e.getMessage(), e);
        }
        throw new AccessorySensorException(e.getMessage());
    }
}
项目:libstreaming_android_studio    文件: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]);
        }
    }
项目:sony-smartband-logger    文件:AccessorySensor.java   
/**
 * Create socket to be able to read sensor data
 */
private void openSocket() throws AccessorySensorException {
    try {
        // Open socket
        mLocalServerSocket = new LocalServerSocket(mSocketName);

        // Stop server listening thread if running
        if (mServerThread != null) {
            mServerThread.interrupt();
            mServerThread = null;
        }

        // Start server listening thread
        mServerThread = new ServerThread(new Handler() {
            public void handleMessage(Message msg) {
                AccessorySensorEvent accessorySensorEvent = (AccessorySensorEvent)msg.obj;
                if (accessorySensorEvent != null && mListener != null) {
                    mListener.onSensorEvent(accessorySensorEvent);
                }
            }
        });
        mServerThread.start();

        // Send intent to Aha
        sendSensorStartListeningIntent();
    } catch (IOException e) {
        if (Dbg.DEBUG) {
            Dbg.e(e.getMessage(), e);
        }
        throw new AccessorySensorException(e.getMessage());
    }
}
项目:KB_1511    文件:AccessorySensor.java   
/**
 * Create socket to be able to read sensor data
 */
private void openSocket() throws AccessorySensorException {
    try {
        // Open socket
        mLocalServerSocket = new LocalServerSocket(mSocketName);

        // Stop server listening thread if running
        if (mServerThread != null) {
            mServerThread.interrupt();
            mServerThread = null;
        }

        // Start server listening thread
        mServerThread = new ServerThread(new Handler() {
            @Override
            public void handleMessage(Message msg) {
                AccessorySensorEvent accessorySensorEvent = (AccessorySensorEvent)msg.obj;
                if (accessorySensorEvent != null && mListener != null) {
                    mListener.onSensorEvent(accessorySensorEvent);
                }
            }
        });
        mServerThread.start();

        // Send intent to Aha
        sendSensorStartListeningIntent();
    } catch (IOException e) {
        if (Dbg.DEBUG) {
            Dbg.e(e.getMessage(), e);
        }
        throw new AccessorySensorException(e.getMessage());
    }
}
项目:KB_1511    文件:SmartEyeglassControlUtils.java   
/**
 * Creates a thread which can read from the socket.
 *
 * @param handler The handler to post messages on.
 */
public ServerThread(final Handler handler,
        final LocalServerSocket localServerSocket, final int index) {
    mHandler = handler;
    mLocalServerSocket = localServerSocket;
    mIndex = index;
}
项目:fdshare    文件:FileDescriptorFactory.java   
private static void shut(LocalServerSocket sock) {
    try {
        if (sock != null)
            sock.close();
    } catch (IOException e) {
        logException("Failed to close server socket", e);
    }
}
项目:JJCamera    文件:MediaStream.java   
protected void createSockets() throws IOException {

        if (sPipeApi == PIPE_API_LS) {

            final String LOCAL_ADDR = "com.jjcamera.apps.iosched.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]);
        }
    }
项目:binea_project_for_android    文件:Server.java   
public void run() {
    try {
        for (; ; ) {
            LocalServerSocket serverSocket = Server.this.mServerSocket;
            if (serverSocket == null) {
                break;
            }
            LocalSocket socket = serverSocket.accept();
            if (Log.isLoggable("InstantRun", 2)) {
                Log.v("InstantRun", "Received connection from IDE: spawning connection thread");
            }
            Server.SocketServerReplyThread socketServerReplyThread = new Server.SocketServerReplyThread(socket);

            socketServerReplyThread.run();
            if (Server.sWrongTokenCount > 50) {
                if (Log.isLoggable("InstantRun", 2)) {
                    Log.v("InstantRun", "Stopping server: too many wrong token connections");
                }
                Server.this.mServerSocket.close();
                break;
            }
        }
    } catch (Throwable e) {
        if (Log.isLoggable("InstantRun", 2)) {
            Log.v("InstantRun", "Fatal error accepting connection on local socket", e);
        }
    }
}