Java 类android.net.nsd.NsdServiceInfo 实例源码

项目:LittleBitLouder    文件:NSDSender.java   
private int registerService(Context context) throws java.io.IOException {

        int port = findOpenSocket();

        // Create the NsdServiceInfo object, and populate it.
        NsdServiceInfo serviceInfo  = new NsdServiceInfo();

        // The name is subject to change based on conflicts
        // with other services advertised on the same network.
        serviceInfo.setServiceName(SERVICE_NAME_DEFAULT);
        serviceInfo.setServiceType(SERVICE_TYPE);
        serviceInfo.setPort(port);

        mNsdManager = (NsdManager)context.getSystemService(Context.NSD_SERVICE);

        if (mRegistrationListener == null)
            initializeRegistrationListener();

        mNsdManager.registerService(
                serviceInfo, NsdManager.PROTOCOL_DNS_SD, mRegistrationListener);

        return port;
    }
项目:habpanelviewer    文件:ServerDiscovery.java   
@Override
public void onServiceResolved(final NsdServiceInfo serviceInfo) {
    Log.v(TAG, "service resolved: name= " + serviceInfo.getServiceName());

    final int port = serviceInfo.getPort();
    final String host = serviceInfo.getHost().getHostName();

    synchronized (mUrl) {
        if (serviceInfo.getServiceName().equals("openhab-ssl")) {
            mUrl.set("https://" + host + ":" + port);
        } else if (mUrl.get() == null) {
            mUrl.set("http://" + host + ":" + port);
        }
        mUrl.notifyAll();
    }
}
项目:buildAPKsSamples    文件:NsdHelper.java   
public void initializeResolveListener() {
    mResolveListener = new NsdManager.ResolveListener() {

        @Override
        public void onResolveFailed(NsdServiceInfo serviceInfo, int errorCode) {
            Log.e(TAG, "Resolve failed" + errorCode);
        }

        @Override
        public void onServiceResolved(NsdServiceInfo serviceInfo) {
            Log.e(TAG, "Resolve Succeeded. " + serviceInfo);

            if (serviceInfo.getServiceName().equals(mServiceName)) {
                Log.d(TAG, "Same IP.");
                return;
            }
            mService = serviceInfo;
        }
    };
}
项目:buildAPKsSamples    文件:NsdHelper.java   
public void initializeRegistrationListener() {
    mRegistrationListener = new NsdManager.RegistrationListener() {

        @Override
        public void onServiceRegistered(NsdServiceInfo NsdServiceInfo) {
            mServiceName = NsdServiceInfo.getServiceName();
            Log.d(TAG, "Service registered: " + mServiceName);
        }

        @Override
        public void onRegistrationFailed(NsdServiceInfo arg0, int arg1) {
            Log.d(TAG, "Service registration failed: " + arg1);
        }

        @Override
        public void onServiceUnregistered(NsdServiceInfo arg0) {
            Log.d(TAG, "Service unregistered: " + arg0.getServiceName());
        }

        @Override
        public void onUnregistrationFailed(NsdServiceInfo serviceInfo, int errorCode) {
            Log.d(TAG, "Service unregistration failed: " + errorCode);
        }

    };
}
项目:CowBit    文件:NsdHelper.java   
public void initializeResolveListener() {
        mResolveListener = new NsdManager.ResolveListener() {
            @Override
            public void onResolveFailed(NsdServiceInfo serviceInfo, int errorCode) {
                Log.e(TAG, "Resolve failed " + errorCode);
                mService = null;
                callCallback(CallbackTypeEnum.ResolveFailed);
            }

            @Override
            public void onServiceResolved(NsdServiceInfo serviceInfo) {
                Log.v(TAG, "Resolve Succeeded. " + serviceInfo);
                if (serviceInfo.getServiceName().equals(mServiceName)) {
//                    Log.d(TAG, "Same IP.");
//                    return;
                }
                mService = serviceInfo;
                callCallback(CallbackTypeEnum.ServiceResolved);
            }
        };
    }
项目:Mycroft-Android    文件:NetworkAutoDiscoveryUtil.java   
public void initializeResolveListener() {
    mResolveListener = new NsdManager.ResolveListener() {
        @Override
        public void onResolveFailed(NsdServiceInfo serviceInfo, int errorCode) {
            Log.e(TAG, "Resolve failed" + errorCode);
        }

        @Override
        public void onServiceResolved(NsdServiceInfo serviceInfo) {
            Log.e(TAG, "Resolve Succeeded. " + serviceInfo);
            if (serviceInfo.getServiceName().equals(mServiceName)) {
                Log.d(TAG, "Same IP.");
                return;
            }
            mService = serviceInfo;
        }
    };
}
项目:Mycroft-Android    文件:NetworkAutoDiscoveryUtil.java   
public void initializeRegistrationListener() {
    mRegistrationListener = new NsdManager.RegistrationListener() {
        @Override
        public void onServiceRegistered(NsdServiceInfo NsdServiceInfo) {
            mServiceName = NsdServiceInfo.getServiceName();
            Log.d(TAG, "Service registered: " + mServiceName);
        }

        @Override
        public void onRegistrationFailed(NsdServiceInfo arg0, int arg1) {
            Log.d(TAG, "Service registration failed: " + arg1);
        }

        @Override
        public void onServiceUnregistered(NsdServiceInfo arg0) {
            Log.d(TAG, "Service unregistered: " + arg0.getServiceName());
        }

        @Override
        public void onUnregistrationFailed(NsdServiceInfo serviceInfo, int errorCode) {
            Log.d(TAG, "Service unregistration failed: " + errorCode);
        }
    };
}
项目:tinydnssd    文件:DiscoverResolverTest.java   
public void testServiceLost() throws IOException, InterruptedException {
    startDiscoveryOnMainThread();
    mDiscoveryListener.onDiscoveryStarted(SERVICE_TYPE);
    NsdServiceInfo serviceInfo = newNsdServiceInfo("device-1234", "_example._tcp.");
    MDNSDiscover.Result result = new MDNSDiscover.Result();
    when(mMockResolver.resolve(eq("device-1234._example._tcp.local"), anyInt())).thenReturn(result);
    mLatch = new CountDownLatch(1);
    mDiscoveryListener.onServiceFound(serviceInfo);
    mLatch.await();
    Map<String, MDNSDiscover.Result> expectedMap = new HashMap<>();
    expectedMap.put("device-1234._example._tcp.local", result);
    verify(mMockListener).onServicesChanged(eq(expectedMap));
    mLatch = new CountDownLatch(1);
    mDiscoveryListener.onServiceLost(serviceInfo);
    mLatch.await();
    expectedMap.clear();
    verify(mMockListener).onServicesChanged(eq(expectedMap));
    stopDiscoveryOnMainThread();
}
项目:tinydnssd    文件:DiscoverResolverTest.java   
/**
 * Resolve a service but inhibit the callback by having the main thread blocked. Stop the
 * DiscoverResolver as soon as the main thread is unblocked, then check the callback does not
 * occur after being stopped.
 * @throws IOException
 * @throws InterruptedException
 */
public void testNoChangesAfterStop() throws IOException, InterruptedException {
    MDNSDiscover.Result result = new MDNSDiscover.Result();
    when(mMockResolver.resolve(eq("device-1234._example._tcp.local"), anyInt())).thenReturn(result);

    startDiscoveryOnMainThread();
    mDiscoveryListener.onDiscoveryStarted(SERVICE_TYPE);
    NsdServiceInfo serviceInfo = newNsdServiceInfo("device-1234", "_example._tcp.");
    blockMainThread();
    new Handler(Looper.getMainLooper()).post(DISCOVER_STOP); // queue this to happen straight after unblockMainThread()
    mDiscoveryListener.onServiceFound(serviceInfo);
    Thread.sleep(100);  // give the resolver some time
    verify(mMockResolver).resolve(eq("device-1234._example._tcp.local"), anyInt());
    verify(mMockListener, never()).onServicesChanged(anyMap());
    unblockMainThread();
    Thread.sleep(100);
    verify(mMockListener, never()).onServicesChanged(anyMap());
}
项目:ahc    文件:BonjourManager.java   
private void initializeResolveListener() {
    mResolveListener = new NsdManager.ResolveListener() {
        @Override
        public void onResolveFailed(NsdServiceInfo serviceInfo, int errorCode) {
            Log.d(TAG, "Resolve failed");
        }

        @Override
        public void onServiceResolved(final NsdServiceInfo serviceInfo) {
            Log.d(TAG, "Service resolved :" + serviceInfo);
            final String hostName = serviceInfo.getHost().getHostName();
            final int port = serviceInfo.getPort();
            final String serviceName = serviceInfo.getServiceName();
            handler.post(new Runnable() {
                @Override
                public void run() {
                    serviceDiscoveryListener.onBonjourServiceDiscovered(hostName, port, serviceName);
                }
            });
        }
    };
}
项目:mc_backup    文件:MulticastDNSManager.java   
@TargetApi(16)
public static JSONObject toJSON(final NsdServiceInfo serviceInfo) throws JSONException {
    JSONObject obj = new JSONObject();

    InetAddress host = serviceInfo.getHost();
    if (host != null) {
        obj.put("host", host.getHostName());
    }

    int port = serviceInfo.getPort();
    if (port != 0) {
        obj.put("port", port);
    }

    String serviceName = serviceInfo.getServiceName();
    if (serviceName != null) {
        obj.put("serviceName", serviceName);
    }

    String serviceType = serviceInfo.getServiceType();
    if (serviceType != null) {
        obj.put("serviceType", serviceType);
    }

    return obj;
}
项目:mc_backup    文件:MulticastDNSManager.java   
@Override
public void onServiceFound(final NsdServiceInfo serviceInfo) {
    Log.d(LOGTAG, "onServiceFound: " + serviceInfo.getServiceName());
    JSONObject json = null;
    try {
        json = NsdMulticastDNSManager.toJSON(serviceInfo);
    } catch (JSONException e) {
        throw new RuntimeException(e);
    }
    GeckoAppShell.sendRequestToGecko(new GeckoRequest("NsdManager:ServiceFound", json) {
        @Override
        public void onResponse(NativeJSObject nativeJSObject) {
            // don't care return value.
        }
    });
}
项目:mc_backup    文件:MulticastDNSManager.java   
@Override
public void onServiceLost(final NsdServiceInfo serviceInfo) {
    Log.d(LOGTAG, "onServiceLost: " + serviceInfo.getServiceName());
    JSONObject json = null;
    try {
        json = NsdMulticastDNSManager.toJSON(serviceInfo);
    } catch (JSONException e) {
        throw new RuntimeException(e);
    }
    GeckoAppShell.sendRequestToGecko(new GeckoRequest("NsdManager:ServiceLost", json) {
        @Override
        public void onResponse(NativeJSObject nativeJSObject) {
            // don't care return value.
        }
    });
}
项目:mc_backup    文件:MulticastDNSManager.java   
public void registerService(final int port, final String serviceName, final String serviceType, final Map<String, String> attributes, final EventCallback callback) {
    Log.d(LOGTAG, "registerService: " + serviceName + "." + serviceType + ":" + port);
    synchronized (this) {
        if (mStartCallback != null) {
            throw new RuntimeException("Previous operation is not finished");
        }
        mStartCallback = callback;
    }

    NsdServiceInfo serviceInfo = new NsdServiceInfo();
    serviceInfo.setPort(port);
    serviceInfo.setServiceName(serviceName);
    serviceInfo.setServiceType(serviceType);
    setAttributes(serviceInfo, attributes);
    nsdManager.registerService(serviceInfo, NsdManager.PROTOCOL_DNS_SD, this);
}
项目:rcontrol    文件:ServiceFinder.java   
private void initializeResolveListener() {
    mResolveListener = new NsdManager.ResolveListener() {

        @Override
        public void onResolveFailed(NsdServiceInfo serviceInfo, int errorCode) {
            Log.e(Constants.TAG, "Resolve failed" + errorCode);
        }

        @Override
        public void onServiceResolved(NsdServiceInfo serviceInfo) {
            mServiceInfo = serviceInfo;

            int port = mServiceInfo.getPort();
            InetAddress host = mServiceInfo.getHost();
            String address = host.getHostAddress();
            Log.d(Constants.TAG, "Resolved address = " + address);

            ServerInfo service = new ServerInfo(address, port);
            mServers.add(service);
        }
    };
}
项目:you2peer    文件:MainActivity.java   
public void connectService(MenuItem v){
    Toast.makeText(getApplicationContext(), "Connect to service...",Toast.LENGTH_SHORT).show();
    NsdServiceInfo service = mNsdHelper.getChosenServiceInfo();

    if(service!=null){

        //try {
            this.server.setService(false);
            //InetAddress ip=InetAddress.getByName("192.168.1.100");
            //Client client=new Client(ip,2664,datasource,server,true);
            Client client=new Client(service.getHost(),service.getPort(),datasource,server,true);
            Toast.makeText(getApplicationContext(), "Connect to "+service.getServiceName()+" on port "+service.getPort(), Toast.LENGTH_SHORT).show();
            client.start();
        //} catch (UnknownHostException e) {
        // TODO Auto-generated catch block
        //  e.printStackTrace();
        //}

    }else{
        Toast.makeText(getApplicationContext(), "Service not found", Toast.LENGTH_SHORT).show();
    }
}
项目:you2peer    文件:NsdHelper.java   
public void initializeResolveListener() {
    mResolveListener = new NsdManager.ResolveListener() {

        public void onResolveFailed(NsdServiceInfo serviceInfo, int errorCode) {
            Toast.makeText(mContext, "Resolve failed",Toast.LENGTH_SHORT).show();
            Log.e(TAG, "Resolve failed" + errorCode);
        }

        public void onServiceResolved(NsdServiceInfo serviceInfo) {
            Log.d(TAG, "Resolve Succeeded. " + serviceInfo);
            Toast.makeText(mContext, "Resolve succeeded",Toast.LENGTH_SHORT).show();
            if (serviceInfo.getServiceName().equals(mServiceName)) {
                Log.d(TAG, "Same IP.");
                return;
            }
            mService = serviceInfo;
            setConnected(true);
        }
    };
}
项目:MultiShare    文件:HttpServiceReceiver.java   
@Override
public void onCreate() {
    httpService = this;
    Log.d(TAG, "My Service Created");
    try {
        server = new NanoHTTPDReceiver( //
                0, //
                new File("/"), //
                getApplicationContext() //
        );
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    Log.d(TAG, "using port " + server.getLocalPort());
    NsdServiceInfo nsi = new NsdServiceInfo();
    nsi.setPort(server.getLocalPort());
    nsi.setServiceName("MultiShare");
    nsi.setServiceType("_http._tcp.");
    mNsdManager = (NsdManager) getSystemService(Context.NSD_SERVICE);
    mNsdManager.registerService(nsi, NsdManager.PROTOCOL_DNS_SD, this);
}
项目:NsdChat    文件:NsdHelper.java   
public void initializeResolveListener()
{
    mResolveListener = new NsdManager.ResolveListener()
    {

        @Override
        public void onResolveFailed(NsdServiceInfo serviceInfo, int errorCode)
        {
            Log.e(TAG, "Resolve failed" + errorCode);
        }

        @Override
        public void onServiceResolved(NsdServiceInfo serviceInfo)
        {
            Log.e(TAG, "Resolve Succeeded. " + serviceInfo);

            if (serviceInfo.getServiceName().equals(mServiceName))
            {
                Log.d(TAG, "Same IP.");
                return;
            }
            mService = serviceInfo;
        }
    };
}
项目:QuickFoods-android    文件:NsdHelper.java   
public void initializeResolveListener() {
        mResolveListener = new NsdManager.ResolveListener() {

            @Override
            public void onResolveFailed(NsdServiceInfo serviceInfo, int errorCode) {
                Log.e(TAG, "Resolve failed" + errorCode);
            }

            @Override
            public void onServiceResolved(NsdServiceInfo serviceInfo) {
                Log.e(TAG, "Resolve Succeeded. " + serviceInfo);
                mService = serviceInfo;
/*
                if (serviceInfo.getServiceName().equals(mServiceName)) {
                    Log.d(TAG, "Same IP.");
                    return;
                }
                mService = serviceInfo;
                */
            }
        };
    }
项目:QuickFoods-android    文件:NsdHelper.java   
public void initializeRegistrationListener() {
    mRegistrationListener = new NsdManager.RegistrationListener() {

        @Override
        public void onServiceRegistered(NsdServiceInfo NsdServiceInfo) {
            mServiceName = NsdServiceInfo.getServiceName();
        }

        @Override
        public void onRegistrationFailed(NsdServiceInfo arg0, int arg1) {
        }

        @Override
        public void onServiceUnregistered(NsdServiceInfo arg0) {
        }

        @Override
        public void onUnregistrationFailed(NsdServiceInfo serviceInfo, int errorCode) {
        }

    };
}
项目:DVBViewerRemote    文件:NsdService.java   
private void initResolveListener() {
    mResolveListener = new NsdManager.ResolveListener() {

        @Override
        public void onResolveFailed(NsdServiceInfo serviceInfo, int errorCode) {
            Timber.e("Resolve failed" + errorCode);
        }

        @Override
        public void onServiceResolved(NsdServiceInfo serviceInfo) {
            Timber.e("Resolve Succeeded. " + serviceInfo);

            if(onNsdChangeListener != null) {
                onNsdChangeListener.onServiceResolved(serviceInfo);
            } else {
                Timber.e("no OnNsdChangeListener set");
            }
        }
    };
}
项目:LittleBitLouder    文件:NSDSender.java   
private void initializeRegistrationListener() {
    mRegistrationListener = new NsdManager.RegistrationListener() {

        @Override
        public void onServiceRegistered(NsdServiceInfo NsdServiceInfo) {
            // Save the service name.  Android may have changed it in order to
            // resolve a conflict, so update the name you initially requested
            // with the name Android actually used.
            mServiceName = NsdServiceInfo.getServiceName();
        }

        @Override
        public void onRegistrationFailed(NsdServiceInfo serviceInfo, int errorCode) {
            // Registration failed!  Put debugging code here to determine why.
        }

        @Override
        public void onServiceUnregistered(NsdServiceInfo arg0) {
            // Service has been unregistered.  This only happens when you call
            // NsdManager.unregisterService() and pass in this listener.
        }

        @Override
        public void onUnregistrationFailed(NsdServiceInfo serviceInfo, int errorCode) {
            // Unregistration failed.  Put debugging code here to determine why.
        }
    };
}
项目:RangeThings    文件:NsdHelper.java   
public void registerService(int port) {
    // Create the NsdServiceInfo object, and populate it.
    NsdServiceInfo serviceInfo  = new NsdServiceInfo();

    // The name is subject to change based on conflicts
    // with other services advertised on the same network.
    serviceInfo.setServiceName(SERVICE_NAME);
    serviceInfo.setServiceType(SERVICE_TYPE);
    serviceInfo.setPort(port);

    mNsdManager.registerService(
            serviceInfo, NsdManager.PROTOCOL_DNS_SD, mRegistrationListener);
}
项目:RangeThings    文件:NsdHelper.java   
private void initializeRegistrationListener() {
    mRegistrationListener = new NsdManager.RegistrationListener() {

        @Override
        public void onServiceRegistered(NsdServiceInfo NsdServiceInfo) {
            // Save the service name.  Android may have changed it in order to
            // resolve a conflict, so update the name you initially requested
            // with the name Android actually used.
            mServiceName = NsdServiceInfo.getServiceName();
        }

        @Override
        public void onRegistrationFailed(NsdServiceInfo serviceInfo, int errorCode) {
            // Registration failed!  Put debugging code here to determine why.
        }

        @Override
        public void onServiceUnregistered(NsdServiceInfo arg0) {
            // Service has been unregistered.  This only happens when you call
            // NsdManager.unregisterService() and pass in this listener.
        }

        @Override
        public void onUnregistrationFailed(NsdServiceInfo serviceInfo, int errorCode) {
            // Unregistration failed.  Put debugging code here to determine why.
        }
    };
}
项目:buildAPKsSamples    文件:NsdChatActivity.java   
public void clickConnect(View v) {
    NsdServiceInfo service = mNsdHelper.getChosenServiceInfo();
    if (service != null) {
        Log.d(TAG, "Connecting.");
        mConnection.connectToServer(service.getHost(),
                service.getPort());
    } else {
        Log.d(TAG, "No service to connect to!");
    }
}
项目:buildAPKsSamples    文件:NsdHelper.java   
public void registerService(int port) {
    tearDown();  // Cancel any previous registration request
    initializeRegistrationListener();
    NsdServiceInfo serviceInfo  = new NsdServiceInfo();
    serviceInfo.setPort(port);
    serviceInfo.setServiceName(mServiceName);
    serviceInfo.setServiceType(SERVICE_TYPE);

    mNsdManager.registerService(
            serviceInfo, NsdManager.PROTOCOL_DNS_SD, mRegistrationListener);

}
项目:Suas-Android    文件:NetworkSocketServer.java   
private NsdServiceInfo getServiceInfo(String name, String type, int localPort) {
    final NsdServiceInfo serviceInfo = new NsdServiceInfo();
    serviceInfo.setServiceName(name);
    serviceInfo.setServiceType(type);
    serviceInfo.setPort(localPort);
    return serviceInfo;
}
项目:Suas-Android    文件:NetworkSocketServer.java   
@Override
public void onServiceRegistered(NsdServiceInfo serviceInfo) {
    Log.d(LOG_TAG, "Service registered. Start listening for connections.");
    final ServerThread serverThread = new ServerThread(serverSocket, socketHandler);
    serverThread.setName("Suas NW Server");
    serverThread.start();
}
项目:CowBit    文件:NsdHelper.java   
public void initializeRegistrationListener() {
    mRegistrationListener = new NsdManager.RegistrationListener() {
        @Override
        public void onServiceRegistered(NsdServiceInfo NsdServiceInfo) {
            mServiceName = NsdServiceInfo.getServiceName();
            Log.d(TAG, "Service registered: " + NsdServiceInfo);
            callCallback(CallbackTypeEnum.ServiceRegistered);
        }

        @Override
        public void onRegistrationFailed(NsdServiceInfo arg0, int arg1) {
            Log.d(TAG, "Service registration failed: " + arg1);
            callCallback(CallbackTypeEnum.RegistrationFailed);
        }

        @Override
        public void onServiceUnregistered(NsdServiceInfo arg0) {
            Log.d(TAG, "Service unregistered: " + arg0.getServiceName());
            callCallback(CallbackTypeEnum.ServiceUnregistered);
        }

        @Override
        public void onUnregistrationFailed(NsdServiceInfo serviceInfo, int errorCode) {
            Log.d(TAG, "Service unregistration failed: " + errorCode);
            callCallback(CallbackTypeEnum.UnregistrationFailed);
        }
    };
}
项目:CowBit    文件:NsdHelper.java   
public void registerService(int port) {
    tearDown();  // Cancel any previous registration request
    initializeRegistrationListener();
    NsdServiceInfo serviceInfo = new NsdServiceInfo();
    serviceInfo.setPort(port);
    serviceInfo.setServiceName(mServiceName);
    serviceInfo.setServiceType(SERVICE_TYPE);
    Log.v(TAG, Build.MANUFACTURER + " registering service: " + port);
    mNsdManager.registerService(
            serviceInfo, NsdManager.PROTOCOL_DNS_SD, mRegistrationListener);
}
项目:xDrip    文件:Mdns.java   
private synchronized void singleResolveService(NsdServiceInfo service) {
    try {

        if ((d) && (outstanding.get() != 0))
            UserError.Log.d(TAG, "Current outstanding requests: " + outstanding.get());
        int spinner = 0;
        while (locked_until > JoH.tsl()) {
            PowerManager.WakeLock wlx = JoH.getWakeLock("mdns-resolve", 200);
            spinner++;
            if ((spinner % 10) == 0)
                UserError.Log.d(TAG, "Waiting on Lock: " + JoH.niceTimeTill(locked_until));
            Thread.sleep(100);
            JoH.releaseWakeLock(wlx);
        }
        // TODO wly timeout excessive and not cancelled
        PowerManager.WakeLock wly = JoH.getWakeLock("mdns-resolve-x", 2000);
        if (locked_until != 0) {
            mResolveListener = initializeResolveListener();
            UserError.Log.d(TAG, "Creating additional listener");
        }
        locked_until = JoH.tsl() + WAIT_FOR_REPLIES_TIMEOUT_MS;
        outstanding.incrementAndGet();
        mNsdManager.resolveService(service, mResolveListener);

    } catch (InterruptedException e) {
        UserError.Log.e(TAG, "Interrupted waiting to resolver lock!");
    }
}
项目:xDrip-plus    文件:Mdns.java   
private synchronized void singleResolveService(NsdServiceInfo service) {
    try {

        if ((d) && (outstanding.get() != 0))
            UserError.Log.d(TAG, "Current outstanding requests: " + outstanding.get());
        int spinner = 0;
        while (locked_until > JoH.tsl()) {
            PowerManager.WakeLock wlx = JoH.getWakeLock("mdns-resolve", 200);
            spinner++;
            if ((spinner % 10) == 0)
                UserError.Log.d(TAG, "Waiting on Lock: " + JoH.niceTimeTill(locked_until));
            Thread.sleep(100);
            JoH.releaseWakeLock(wlx);
        }
        // TODO wly timeout excessive and not cancelled
        PowerManager.WakeLock wly = JoH.getWakeLock("mdns-resolve-x", 2000);
        if (locked_until != 0) {
            mResolveListener = initializeResolveListener();
            UserError.Log.d(TAG, "Creating additional listener");
        }
        locked_until = JoH.tsl() + WAIT_FOR_REPLIES_TIMEOUT_MS;
        outstanding.incrementAndGet();
        mNsdManager.resolveService(service, mResolveListener);

    } catch (InterruptedException e) {
        UserError.Log.e(TAG, "Interrupted waiting to resolver lock!");
    }
}
项目:Simplify    文件:NsdChatActivity.java   
public void clickConnect() {
    NsdServiceInfo service = mNsdHelper.getChosenServiceInfo();
    if (service != null) {
        Log.d(TAG, "Connecting...");
        Toast.makeText(this, "Connecting...",Toast.LENGTH_SHORT).show();
        mConnection.commonConnection(service.getHost(), service.getPort(), null);
    } else {
        Log.d(TAG, "No service to connect to!");
        Toast.makeText(this, "No service to connect to!",Toast.LENGTH_SHORT).show();
    }
}
项目:Simplify    文件:NsdHelper.java   
public void initializeNsd() {
    mResolveListener = new NsdManager.ResolveListener() {

        @Override
        public void onResolveFailed(NsdServiceInfo serviceInfo, int errorCode) {
            Log.e(TAG, "Resolve failed" + errorCode);
            Toast.makeText(mContext, "Resolve failed" + errorCode, Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onServiceResolved(NsdServiceInfo serviceInfo) {
            Log.d(TAG, "Resolve Succeeded. " + serviceInfo);
            Toast.makeText(mContext, "Resolve Succeeded. " + serviceInfo, Toast.LENGTH_SHORT).show();
            if (serviceInfo.getServiceName().equals(mServiceName) && flag) {
                Log.d(TAG, "Same IP.");
                Toast.makeText(mContext, "Same IP.", Toast.LENGTH_SHORT).show();
                return;
            }
            mService = serviceInfo;

            final NsdChatActivity ac = (NsdChatActivity)mContext;
            ac.runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    //show the join button
                    ac.setVisibilityButton(true);
                }
            });
            //ac.setVisibilityButton(true);
        }
    };
}
项目:Simplify    文件:NsdHelper.java   
public void initializeRegistrationListener() {
    mRegistrationListener = new NsdManager.RegistrationListener() {

        @Override
        public void onServiceRegistered(NsdServiceInfo NsdServiceInfo) {
            mServiceName = NsdServiceInfo.getServiceName();
            flag = true;
            Log.d(TAG, "Service registered: " + mServiceName);
            Toast.makeText(mContext, "Service registered: " + mServiceName, Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onRegistrationFailed(NsdServiceInfo arg0, int arg1) {
            Log.d(TAG, "Service registration failed: " + arg1);
            Toast.makeText(mContext,"Service registration failed: " + arg1, Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onServiceUnregistered(NsdServiceInfo arg0) {
            Log.d(TAG, "Service unregistered: " + arg0.getServiceName());
            Toast.makeText(mContext, "Service unregistered: " + arg0.getServiceName(), Toast.LENGTH_SHORT).show();
            flag = false;
        }

        @Override
        public void onUnregistrationFailed(NsdServiceInfo serviceInfo, int errorCode) {
            Log.d(TAG, "Service unregistration failed: " + errorCode);
            Toast.makeText(mContext, "Service unregistration failed: " + errorCode, Toast.LENGTH_SHORT).show();
        }

    };
}
项目:Simplify    文件:NsdHelper.java   
public void registerService(int port) {
    tearDown();  // Cancel any previous registration request
    initializeRegistrationListener();
    NsdServiceInfo serviceInfo = new NsdServiceInfo();
    serviceInfo.setPort(port);
    mServiceName = NsdChatActivity.mServiceName;
    serviceInfo.setServiceName(mServiceName);
    serviceInfo.setServiceType(SERVICE_TYPE);
    Toast.makeText(mContext, "Service registered at port: " + port,Toast.LENGTH_SHORT).show();
    mNsdManager.registerService(
            serviceInfo, NsdManager.PROTOCOL_DNS_SD, mRegistrationListener);

}
项目:nitroshare-android    文件:Device.java   
public NsdServiceInfo toServiceInfo() {
    NsdServiceInfo serviceInfo = new NsdServiceInfo();
    serviceInfo.setServiceType(SERVICE_TYPE);
    serviceInfo.setServiceName(mName);
    //serviceInfo.setAttribute(UUID, mUuid);
    serviceInfo.setPort(mPort);
    return serviceInfo;
}
项目:nitroshare-android    文件:ShareActivity.java   
@Override
public void onServiceFound(NsdServiceInfo serviceInfo) {
    if (serviceInfo.getServiceName().equals(mThisDeviceName)) {
        return;
    }
    Log.d(TAG, String.format("found \"%s\"; queued for resolving", serviceInfo.getServiceName()));
    boolean resolve;
    synchronized (mQueue) {
        resolve = mQueue.size() == 0;
        mQueue.add(serviceInfo);
    }
    if (resolve) {
        resolveNextService();
    }
}
项目:nitroshare-android    文件:ShareActivity.java   
@Override
public void onServiceLost(final NsdServiceInfo serviceInfo) {
    Log.d(TAG, String.format("lost \"%s\"", serviceInfo.getServiceName()));
    runOnUiThread(new Runnable() {
        @Override
        public void run() {
            remove(serviceInfo.getServiceName());
            mDevices.remove(serviceInfo.getServiceName());
        }
    });
}