我将为iOS和Android创建一个无服务器的本地网络应用程序。iOS和Android设备中的应用程序应该相互发现并相互通信。我知道有平台内置服务(从v4.1开始是iOS的Bonjour和Android的NSD),另外可以使用开源的jmdns包盒子也是。我不知道如何选择,它们的兼容性如何。我的问题是:AndroidNSD(网络服务发现)是否与iOS中的Bonjour兼容?我应该在我的应用中使用什么来发现服务。如果我也为应用开发PC版,是否需要使用第三方库? 最佳答案 我开发了类似的项目。让我来回答你的问题:是的。Theofficia
我正在尝试使用AndroidNativeServiceDiscovery运行应用程序,但有时当我运行该应用程序时,它不会从我的网络中发现所有服务。我正在运行https://github.com/joeluchoa/nsd中的代码使用四个星系联结,大多数时候每个星系同时发现不同数量的服务。基本上我使用ServerSocket运行服务:ServerSocketserver=newServerSocket(0);Log.i(TAG,"IP"+server.getInetAddress()+",runningonport"+server.getLocalPort());Intentintent
在android中制作WiFi程序有多种选择,最常用的方法是使用NSD和WifiP2pManager。这两个选择有什么不同? 最佳答案 首先,这不是要区分的两个实体。即使您将Wi-FiP2p用于NSD,您也应该使用WifiP2pManager进行连接初始化和协商。NSD将用于发现阶段我认为您的问题是使用Wi-FiP2p服务发现(NSD)和不使用之间的区别(使用正常扫描WifiP2pManager.discoverPeers()).明确提供了答案here在三个子主题下。然而区别其实在于初始阶段:Thepeerdiscoveryphas
自Android4.1起网络服务发现(NSD)isavailable.但是,如何从计算机或其他不运行android的设备上找到公开NSD服务的android设备。如示例中所示构建Android应用程序会发现其他设备也很好,但是,并不总是将Android作为平台。我在我的PC上运行UPnP发现,但手机没有出现。您可以找到我实现的NSD服务hereongithub.Discovery应用程序很简单,来自androidexample.UPnP示例使用的是Cling,并且来自他们的教程,它找到了我的路由器和Windows媒体播放器,所以我认为它可以工作。问题可能是基于服务发现协议(protoc
在过去的几周中,Android的NSD实现让我发疯了:从用户的角度来看,会出现以下问题:设备以完全不确定的方式相互发现。如果我启动基于NsdManager的应用程序,则只要涉及两个设备,它就会或多或少地起作用。如果加入了第三个设备,则很少会发现前两个,而前两个将看不到第三个。如果我退出这些应用程序(它们正常注销了NSD监听器)并以不同的顺序重新启动它们,则发现模式并不完全相同,而是相似的。在我的家庭网络中,发现的设备的IP分辨率基本上可以按预期工作。在工作中,有时即使仅使用两个设备(A和B),设备A也会使用A的IP地址和B的端口解析设备B的服务,反之亦然。因此,IP地址和服务名称似乎以
当我进入RegisterActivity打印logCat时,我正在处理新项目11-0720:12:09.30526674-26674/com.roshetaD/NSD:curPkgNameisnotinlist太多而不停止打印它。这是什么?这是一个错误吗?打印这么多日志会降低应用程序的性能吗?这是我的RegisterActivitypackagecom.rosheta.activities;importandroid.app.Activity;importandroid.os.Bundle;importandroid.support.v7.widget.AppCompatImageBu