2015-05-24 25 views
5

我正嘗試利用找到網絡中的所有服務:發現網絡中的所有服務的Android NSD

mNsdManager.discoverServices(
      SERVICE_TYPE, NsdManager.PROTOCOL_DNS_SD, mDiscoveryListener); 

,但你必須定義SERVICE_TYPE例如:

public static final String SERVICE_TYPE = "_http._tcp."; 

所以將使用tcp發現所有http服務,但它不會同時查找https服務或任何其他類型的服務

如何設置所有這些以便使用tcp查找任何服務?

預先感謝您。

+0

對此有何更新? – user3316561

回答

1

我使用

private static final String SERVICE_TYPE = "_services._dns-sd._udp"; 

這給了我的所有可用服務的局域網上的列表:

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