作者:Jason Chen
JmDNS是multi-cast DNS的java实现,可以用来在局域网中查找设备和注册设备,而且不需要额外的配置。它可以获取到设备的IP, 端口号,服务类型,名称等信息。通过这些信息,就可以方便地实现设备互联。
这里有一个比较重要的概念是:服务类型。简单来说,服务类型阐述了该设备能提供的服务。它的格式是:_<protocol>._<transportlayer>。例如网络打印服务,它的类型为"_ipp._tcp."。想要查看更多的服务类型,可以参考http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml。当然,也可以自己约定服务类型,用于特定的功能。
下面就开始介绍如何使用JmDNS来实现设备的注册和查找。
一、设备注册
如果你的设备能够提供某种服务,那么你就可以通过注册服务,把你的能力告诉大家。举例如下:
serviceInfo = ServiceInfo.create("_ipp._tcp.",// service typename