- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在编写一个使用 Wifi Direct 的 Android 应用程序。我正在尝试启动我的服务,我正在调用 WifiP2pDnsSdServiceInfo.newInstance。但是,我一直在寻找我可以使用的不同服务类型,到目前为止我只找到了“_presence._tcp”。
我知道我应该以某种方式找到一种对我的应用程序试图完成的事情“有意义”的服务类型。我可以“发明”它吗?是否有任何可用的协议(protocol)列表?
非常感谢!
最佳答案
Android 文档在指南中提供了一些信息 Using Network Service Discovery .根据它,服务类型指定了应用程序使用的协议(protocol)和传输层。语法是 _<protocol>._<transportlayer>
。所以你应该只在第二部分使用现有的传输。最常用的是 tcp
和 udp
,当然。
至于第一部分,有一堆应用层协议(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/
我是一名优秀的程序员,十分优秀!