android - WifiP2pDnsSdServiceInfo.newInstance 中的可用服务类型

标签 android service wifi-direct

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

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

非常感谢!

最佳答案

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

至于第一部分,有一堆应用层协议(protocol)。例如,presence是来自 xmpp.org 的消息传递协议(protocol),ipp是打印机服务。您可以在 dns-sd.org site 找到已注册协议(protocol)的大致完整列表。 .你也可以看看the service names registry at iana.org .

由于基于 DNS 的服务发现是 Zero-configuration networking 的一部分它有许多实现,可以在特定供应商站点上找到其他协议(protocol)列表。例如,这里是 Apple's Bonjour service types 的列表.

我不认为存在全局使用的协议(protocol)的单一详尽列表。不过,我想您可以发明一个具有合理可区分的底层结构(首字母缩略词和/或语义)的自己的名字 - 只需通过互联网搜索并确保您的名字不会出现在与 Zeroconf 和 DNS-SD 相关的地方。

关于android - WifiP2pDnsSdServiceInfo.newInstance 中的可用服务类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18176616/

相关文章:

java - 声音不在gridview中播放

android - 如何更新服务类中更新的textview文本

javascript - 是否存在 Javascript Liferay 服务库的文档?如何处理错误情况?

java - 使用 Wifi Direct 将 Android 应用程序连接到 PC

Android 7.1.1 Wifi Direct 无法创建群组

android - JellyBean 上的 WiFi-Direct,WPA 请求者搞砸了

android - 如何使用 Gradle 将 Android 配置注入(inject)每个子项目?

android - 弹出窗口:ShowAsDropDown 显示为右上角而不是左下角?

android - NotificationListenerService 不工作 - 即使在给予许可后

Delphi XE5中的Android后台服务