3

我正在编写一个使用 Wifi Direct 的 android 应用程序。我正在尝试启动我的服务,我正在调用 WifiP2pDnsSdServiceInfo.newInstance。但是,我一直在寻找可以使用的不同服务类型,到目前为止,我只找到了“_presence._tcp”。

我知道我应该以某种方式找到一种对我的应用程序试图完成的事情“有意义”的服务类型。我可以“发明”它吗?有没有可用的协议列表?

非常感谢!

4

1 回答 1

5

Android 文档在使用网络服务发现指南中提供了一些信息。根据它,服务类型指定应用程序使用的协议和传输层。语法是_<protocol>._<transportlayer>. 所以你应该只在第二部分使用现有的传输。当然,最常用的是tcpudp

至于第一部分,有一堆应用层协议。例如,presence是来自 xmpp.org 的消息传递协议,并且ipp是打印机服务。您可以在dns-sd.org 站点找到或多或少完整的已注册协议列表。您还可以查看iana.org 上的服务名称注册表

由于基于 DNS 的服务发现是零配置网络的一部分,它具有多种实现方式,因此可以在特定供应商站点上找到其他协议列表。例如,这里是Apple 的 Bonjour 服务类型列表。

我认为不存在全球使用的协议的详尽列表。尽管如此,我想您可以使用可合理区分的底层结构(首字母缩写词和/或语义)来发明自己的名字 - 只需在 Internet 上搜索并确保您的名字不会出现在 Zeroconf 和 DNS-SD 中。

于 2013-10-14T08:19:34.320 回答