我刚刚开始使用Android的NSDManager类使用多播DNS。我从这个链接https://android.googlesource.com/platform/development/+/master/samples/training/NsdChat/src/com/example/android/nsdchat/NsdHelper.java找到了NsdChat示例。在这段代码中,似乎注册服务相当简单,但我想了解它的基本工作机制,我无法在任何地方找到这些信息。
public void registerService(int port) {
tearDown(); // Cancel any previous registration request
initializeRegistrationListener();
NsdServiceInfo serviceInfo = new NsdServiceInfo();
serviceInfo.setPort(port);
serviceInfo.setServiceName(mServiceName);
serviceInfo.setServiceType(SERVICE_TYPE);
mNsdManager.registerService(
serviceInfo, NsdManager.PROTOCOL_DNS_SD, mRegistrationListener);
}
如果有人对此有经验并可以向我解释,我们非常感谢。这些是我现在能想到的主要问题。
1)当调用registerService()时,注册此服务的应用程序是谁?
2)注册过程是什么?名称和端口等信息是否像DNS一样存储在查找表中?
3)如果有人有一个解释这是如何工作的图表,那就太棒了。
提前谢谢。