ZeroConf的服务类型

时间:2015-03-19 11:46:57

标签: tcp mono zeroconf

在我的新项目中,我正在研究ZeroConf的概念。我对此非常陌生,我在网上阅读了很多关于此的文章并理解了这个概念。我的用例如下: - 在我的项目中,我将基于Linux的网关与Avahi守护程序作为零配置提供程序。我想让我的客户可以发现我的网关。客户端将发现网关并与网关建立TCP连接。为此,我必须在我的网关上发布服务。客户端将搜索此服务并解析它并获得IP地址和端口。一旦客户端获得了IPAddress,Port客户端就可以与服务器建立TCP连接。目前我正在使用Mono.ZeroConf进行所有实现。 现在我的问题是,这项服务的服务类型应该是什么。如果我将我的服务注册为

" _http._tcp 1234 EchoService" 然后它成功注册了一项服务,从客户端我可以浏览并解决它。客户端也可以成功连接到网关中运行的TCP服务器并进行通信。

此外,我想知道我是否可以创建自己的服务类型。

提前致谢。

1 个答案:

答案 0 :(得分:1)

这取决于您的网关实施的协议。 ZeroConf的服务类型确实说两个" 什么"是广告而且" 如何"使用该服务,即与服务一起使用的协议。 因此,如果您的网关实现了标准的众所周知的协议,那么您可以使用一种众所周知的服务类型,您可以找到herehere

例如,如果您的网关是SOCKS代理,那么您应该将其作为_socks._tcp服务公布。如果您的网关实现专有协议,您可能需要注册新的服务类型。如果您不想公开披露您的服务类型名称,您可以要求IANA将其保密一段时间。但是,您不必这样做。您可以使用类似GUID的服务名称来保证唯一性。

我建议您阅读或至少阅读一本关于ZeroConf的优秀书籍: 斯图尔特柴郡和丹尼尔斯坦伯格Zero Configuration Networking: The Definitive Guide。 BTW,Stuart Cheshire是ZeroConf的作者之一。