我正在尝试针对Android的jmDNS服务发现,但进展并不顺利。 试图发现本地网络中所有活动的服务,但是找不到。
初始化如下:
val wifi = context!!.applicationContext.getSystemService(android.content.Context.WIFI_SERVICE) as WifiManager
lock = wifi.createMulticastLock("IO_LOCK")
lock!!.setReferenceCounted(true)
lock!!.acquire()
val ipAddress = InetAddress.getByName("192.168.1.5") //local IP
val hostname = ipAddress.hostName
Log.e("IP ", ipAddress.hostAddress)
Log.e("HOSTNAME ", hostname)
jmdns = JmDNS.create(ipAddress, hostname)
jmdns!!.addServiceTypeListener(SampleTypeListener())
jmdns!!.addServiceListener("_http._tcp.local.", SampleListener())
jmdns!!.addServiceListener("_ftp._tcp.local.", SampleListener())
jmdns!!.addServiceListener("_ipp._tcp.local.", SampleListener())
jmdns!!.addServiceListener("_http._tcp.local.", SampleListener())
jmdns!!.addServiceListener("_services._dns-sd._udp.local.", SampleListener())
但是它不起作用...如何在本地投注中监听所有可用的活动服务?
我的意思是,如何在发送M-SEARCH时查找所有活动服务,例如UPNP?