使用android NSD发现网络中的所有服务

use*_*396 7 android nsd

我正在尝试使用以下方法查找网络中的所有服务:

mNsdManager.discoverServices(
            SERVICE_TYPE, NsdManager.PROTOCOL_DNS_SD, mDiscoveryListener);
Run Code Online (Sandbox Code Playgroud)

但您必须定义SERVICE_TYPE,例如:

public static final String SERVICE_TYPE = "_http._tcp.";
Run Code Online (Sandbox Code Playgroud)

因此它将使用tcp发现所有http服务,但它不会同时找到https服务或任何其他类型的服务

如何设置所有这些以便使用tcp查找任何服务?

先感谢您.

小智 5

我在用

private static final String SERVICE_TYPE = "_services._dns-sd._udp";
Run Code Online (Sandbox Code Playgroud)

它为我提供了 LAN 上所有可用服务的列表:

D/MHC-NSD: Service discovery found: name: _workstation, type: _tcp.local., host: null, port: 0
D/MHC-NSD: Service discovery found: name: _UnoWiFi, type: _tcp.local., host: null, port: 0
D/MHC-NSD: Service discovery found: name: _udisks-ssh, type: _tcp.local., host: null, port: 0
D/MHC-NSD: Service discovery found: name: _airplay, type: _tcp.local., host: null, port: 0
D/MHC-NSD: Service discovery found: name: _raop, type: _tcp.local., host: null, port: 0
D/MHC-NSD: Service discovery found: name: _xbmc-events, type: _udp.local., host: null, port: 0
D/MHC-NSD: Service discovery found: name: _xbmc-jsonrpc, type: _tcp.local., host: null, port: 0
D/MHC-NSD: Service discovery found: name: _xbmc-jsonrpc-h, type: _tcp.local., host: null, port: 0
D/MHC-NSD: Service discovery found: name: _http, type: _tcp.local., host: null, port: 0
D/MHC-NSD: Service discovery found: name: _sftp-ssh, type: _tcp.local., host: null, port: 0
D/MHC-NSD: Service discovery found: name: _ssh, type: _tcp.local., host: null, port: 0
D/MHC-NSD: Service discovery found: name: _arduino, type: _tcp.local., host: null, port: 0
Run Code Online (Sandbox Code Playgroud)