যখন আপনার অ্যাপলিকেশন নেটওয়ার্কে একটি সার্ভিস সংযুক্ত করার জন্য খুজে পায়, resolveService() পদ্ধতি ব্যবহার করে ঐ সার্ভিসের জন্য কানেকশন তথ্য অবশ্যই প্রথমে নির্ধারণ করা উচিত। এই পদ্ধতির মধ্যে পাস করতে একটি NsdManager.ResolveListener বাস্তবায়ন করুন এবং কানেকশন তথ্য ধারন করা একটি NsdServiceInfo পাওয়ার জন্য এটা ব্যবহার করুন।
public void initializeResolveListener() {
mResolveListener = new NsdManager.ResolveListener() {
@Override
public void onResolveFailed(NsdServiceInfo serviceInfo, int errorCode) {
// Called when the resolve fails. Use the error code to debug.
Log.e(TAG, "Resolve failed" + errorCode);
}
@Override
public void onServiceResolved(NsdServiceInfo serviceInfo) {
Log.e(TAG, "Resolve Succeeded. " + serviceInfo);
if (serviceInfo.getServiceName().equals(mServiceName)) {
Log.d(TAG, "Same IP.");
return;
}
mService = serviceInfo;
int port = mService.getPort();
InetAddress host = mService.getHost();
}
};
}
একসময় সার্ভিস স্খির হবে, আপনার অ্যাপলিকেশন সার্ভিস তথ্য সম্পর্কে বিস্তারিত গ্রহণ করবে যার মধ্যে রয়েছে একটি আইপি এড্রেস এবং পোর্ট নাম্বার। সার্ভিসে আপনার নিজের নেটওয়ার্ক কানেকশন তৈরী করতে আপনাকে এই সব করতে হভে।