0
使用NSDManager類發現服務列表我已經實現了一些帶有谷歌引用的代碼,但是當我嘗試發現服務時無法獲取主機地址。發現開始時它顯示爲空。我已經提到了this link用於發現連接在同一網絡中的設備列表,我跟在this blog上以獲得當連接到同一網絡時的所有服務。在NSD中使用網絡服務信息時顯示爲空
我的方法對於連接到同一網絡的服務/設備列表是否正確?
我嘗試下面的代碼,發現名單
註冊服務與
public void registerService(int port) {
NsdServiceInfo serviceInfo = new NsdServiceInfo();
serviceInfo.setServiceName(SERVICE_NAME);
serviceInfo.setServiceType(SERVICE_TYPE);
serviceInfo.setPort(port);
nsdManager.registerService(serviceInfo,
NsdManager.PROTOCOL_DNS_SD,
registrationListener);
}
我的決心聽衆
public void initializeResolveListener() {
mResolveListener = new NsdManager.ResolveListener() {
@Override
public void onResolveFailed(NsdServiceInfo serviceInfo, int errorCode) {
Log.e(TAG, "Resolve failed" + errorCode);
}
@Override
public void onServiceResolved(NsdServiceInfo serviceInfo) {
Log.v(TAG, "Resolve Succeeded. " + serviceInfo);
if (serviceInfo.getServiceName().equals(mService)) {
Log.d(TAG, "Same IP.");
return;
}
mService = serviceInfo;
int port = mService.getPort();
InetAddress host = mService.getHost(); }
};
}
我可以得到該特定設備的端口號和ip地址,但我沒有找到其他設備... – Rognik