@Override public void serviceAdded(ServiceEvent event) { Log.d(TAG, "serviceAdded:" + event); ZeroServiceInfo zsi = new ZeroServiceInfo(null, event); String name = event.getName(); if (mName.equals(name)) { mZsinfo = zsi; if (null != mServiceListener) { mServiceListener.onServiceRegistered(zsi); } } else { ServiceInfo sinfo = event.getInfo(); if (null != sinfo) { InetAddress[] addrs = sinfo.getInetAddresses(); if (null != addrs && addrs.length > 0) { for (InetAddress addr : addrs) { Log.d(TAG, "the addr is:" + addr.getHostName()); } if (null != mDiscoverListener) { mDiscoverListener.onServiceFound(zsi); } } } } }
@Override public void serviceRemoved(final ServiceEvent event) { Log.i(TAG, "Service removed: " + event.getType() + "\n Info: " + event.getInfo()); final Server srv = new Server(null, null, event.getInfo().getHostAddresses()[0]); inUI( new Runnable() { @Override public void run() { serversList.remove(srv); serversListAdapter.notifyDataSetChanged(); } }); }
// @Test // not working by 22/09/2013 public void testRegisterDevice() { try { JmDNS jmdns = JmDNS.create( InetAddress.getByName( PropertiesLoader.getInstance() .getProperties() .getProperty("iotsys.gateway.authNsAddr6", "fe80::acbc:b659:71db:5cb7%20"))); jmdns.addServiceListener( "_obix._coap." + PropertiesLoader.getInstance() .getProperties() .getProperty("iotsys.gateway.authDomain", "local."), new ServiceListener() { @Override public void serviceAdded(ServiceEvent event) {} @Override public void serviceRemoved(ServiceEvent event) {} @Override public void serviceResolved(ServiceEvent event) { resolvedEvents.add(event); } }); lock.await(20000, TimeUnit.MILLISECONDS); ArrayList<String> eventNames = new ArrayList<String>(); for (ServiceEvent e : resolvedEvents) { eventNames.add(e.getName()); } // test all elements in testDeviceNames are returned in eventNames for (String qName : testDeviceNames) { // if eventNames not contain qName -> fail String fk = qName.split("\\.")[0].toLowerCase(); if (!eventNames.contains(fk)) fail(); } } catch (UnknownHostException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
public static ServiceLookup getServiceLookup(List<ServiceEvent> services) { ArrayList<ServiceLookup> lookups = new ArrayList<>(); for (ServiceEvent service : services) { ServiceLookup lookup = ServiceLookup.get(service.getType()); if (lookup != null && lookup.getPriority() > 0) { lookups.add(lookup); } } Timber.v("lookups for " + services + " are " + lookups); if (lookups.isEmpty()) { return null; } Collections.sort(lookups); return lookups.get(lookups.size() - 1); }
@Override public void serviceRemoved(ServiceEvent serviceEvent) { String name = serviceEvent.getName(); synchronized (this) { removeBoardswithSameName(name); } }
@Override public void serviceAdded(ServiceEvent serviceEvent) { String type = serviceEvent.getType(); String name = serviceEvent.getName(); try (JmDNS dns = serviceEvent.getDNS()) { dns.requestServiceInfo(type, name); ServiceInfo serviceInfo = dns.getServiceInfo(type, name); if (serviceInfo != null) { dns.requestServiceInfo(type, name); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
@Override public void serviceResolved(final ServiceEvent event) { Log.i(TAG, "Service resolved: " + event.getType() + "\n Info: " + event.getInfo()); inUI( new Runnable() { @Override public void run() { String name = event.getInfo().getPropertyString(GameServer.KEY_SERVER_NAME); String descr = event.getInfo().getName(); String ip = event.getInfo().getInetAddresses()[0].getHostAddress(); Server srv = new Server(name, descr, ip); if (!serversList.contains(srv)) { serversList.add(srv); serversListAdapter.notifyDataSetChanged(); } } }); }
@Override public void serviceResolved(ServiceEvent serviceEvent) { ServiceInfo info = serviceEvent.getInfo(); for (InetAddress inetAddress : info.getInet4Addresses()) { bonour newItem = new bonour(); newItem.address = inetAddress.getHostAddress(); newItem.name = serviceEvent.getName(); if (info.hasData()) { newItem.board = info.getPropertyString("board"); // $NON-NLS-1$ newItem.distroversion = info.getPropertyString("distro_version"); // $NON-NLS-1$ newItem.name = info.getServer(); } while (newItem.name.endsWith(".")) { // $NON-NLS-1$ newItem.name = newItem.name.substring(0, newItem.name.length() - 1); } newItem.port = Integer.toString(info.getPort()); synchronized (this) { removeBoardswithSameAdress(newItem); this.myComPorts.add(newItem); } } }
@Override public void serviceRemoved(ServiceEvent event) { Log.d(TAG, "serviceRemoved:" + event); ZeroServiceInfo zsi = new ZeroServiceInfo(null, event); String name = event.getName(); if (mName.equals(name)) { if (null != mServiceListener) { mServiceListener.onServiceUnregistered(zsi); } } else { if (null != mDiscoverListener) { mDiscoverListener.onServiceLost(zsi); } } }
@Override public void serviceAdded(ServiceEvent event) { Log.i(TAG, "Service added: " + event.getType() + "\n Info: " + event.getInfo()); // Для вызова serviceResolved(...) event.getDNS().requestServiceInfo(event.getType(), event.getName(), 100); }
public void serviceRemoved(ServiceEvent event) { removeService(event.getDNS(), event.getType(), event.getName()); }
public void serviceAdded(ServiceEvent event) { addService(event.getDNS(), event.getType(), event.getName()); }
public static String hostIdentifierForService(ServiceEvent service) { return service.getInfo().getHostAddress(); }
@Override public void serviceResolved(ServiceEvent event) { System.out.println( "Service resolved: " + event.getName() + "." + event.getType() + "\n" + event.getInfo()); }
@Override public void serviceAdded(ServiceEvent event) { System.out.println("Service added : " + event.getName() + "." + event.getType()); }