草庐IT

NsdManager

全部标签

java - NsdManager 不解析多个发现的服务

从例子开始http://developer.android.com/training/connect-devices-wirelessly/nsd.html代码,我一直在构建一个旨在在同一子网中的多个设备上运行的应用程序。每个设备注册相同的服务并尝试使用该服务发现子网中的其他设备。如文档中所述,每次设备注册服务时,名称都会被附加的“(N)”所破坏,其中N是一个整数。每个设备,当它进行发现时publicvoiddiscoverServices(){mNsdManager.discoverServices(SERVICE_TYPE,NsdManager.PROTOCOL_DNS_SD,mD

android - 如何使用 Android 的本地网络服务发现找到所有可用的服务

我读过androiddocumentation关于使用NSD查找特定网络服务。下面是我的代码,用于发现所有可用的_http._tcp服务。finalNsdManager.DiscoveryListenerdiscoveryListener=newNsdManager.DiscoveryListener(){@OverridepublicvoidonDiscoveryStarted(Strings){Log.i(TAG,"onDiscoveryStarted:"+s);}@OverridepublicvoidonServiceFound(NsdServiceInfonsdServiceI

android - NsdManager.DiscoveryListener.onServiceFound 的 NsdServiceInfo 中 Host 为 null

我正在尝试获取作为参数传递给NsdManager.DiscoveryListener.onServiceFound()的NsdServiceInfo的mHost,但它为空。我有两个android设备,其中设备1是服务器,设备2是客户端。这就是我在设备1中注册服务器的方式publicvoidregisterService(intport,InetAddressmyIp){NsdServiceInfoserviceInfo=newNsdServiceInfo();serviceInfo.setPort(port);serviceInfo.setServiceName(this.servic

android - Android,NSD/DNS-SD : NsdManager unreliable discovery and IP resolution

在过去的几周中,Android的NSD实现让我发疯了:从用户的角度来看,会出现以下问题:设备以完全不确定的方式相互发现。如果我启动基于NsdManager的应用程序,则只要涉及两个设备,它就会或多或少地起作用。如果加入了第三个设备,则很少会发现前两个,而前两个将看不到第三个。如果我退出这些应用程序(它们正常注销了NSD监听器)并以不同的顺序重新启动它们,则发现模式并不完全相同,而是相似的。在我的家庭网络中,发现的设备的IP分辨率基本上可以按预期工作。在工作中,有时即使仅使用两个设备(A和B),设备A也会使用A的IP地址和B的端口解析设备B的服务,反之亦然。因此,IP地址和服务名称似乎以

android - NsdManager 不会停止服务发现

在我目前正在开发的Android应用程序中,我想使用NsdManager连接做零配置网络。我设法运行网络服务发现并连接到所需的网络,但停止发现后NsdManager线程仍在运行。这会导致在几次屏幕旋转后有许多NsdManager线程正在浏览连接。当任何网络可用时,设备会尝试多次同步,因此每个NsdManager仍然处于Activity状态,尽管停止了服务发现。下面是我的代码:packagedtokarzewsk.nsdservicetest;importandroid.content.Context;importandroid.net.nsd.NsdManager;importandr