gpt4 book ai didi

android - 在 Android WiFi Direct 服务发现中发送数据而不是连接

转载 作者:太空宇宙 更新时间:2023-11-03 12:33:31 24 4
gpt4 key购买 nike

按照此处的文档:

http://developer.android.com/training/connect-devices-wirelessly/nsd-wifi-direct.html

通过将数据放入 WifiP2pDnsSdServiceInfo 对象中,似乎可以在不建立连接的情况下向附近所有具有 WiFi Direct 的设备广播数据。这适用于我的目的,因为我试图在多个附近的设备之间建立一个简单的 P2P 消息传递应用程序。然而,这似乎是对 API 的滥用,因为它旨在携带信息以建立连接和宣传服务。我的问题是:

  • 以这种方式发送数据的优缺点是什么(请忽略安全性)?
  • 发送/接收消息是否会有延迟。
  • 对电池生命周期有何影响?

最佳答案

  • 您传递给 WifiP2pDnsSdServiceInfo 对象的键/值对将被封装到 DNS 多播消息中,如 DNS-Based Service Discovery 中指定的那样.

  • WiFi 上的多播流量特别昂贵,因此不建议使用它来发送消息。仅用于服务发现等关键事情。

  • 根据实现 (android),底层框架可能会在调用您的回调之前汇集所有服务发现记录/响应。这可能会为您的简单 P2P 消息传递增加显着(甚至不可预测)的延迟。

  • 这基本上是一个 DNS 消息传递,因此您的“消息”可能会缓存在本地。 DNS 查询还可以尝试中级优化,例如池化、重试、查询过滤、优先级排序等。

  • 没有可靠性保证,因此您的消息可能会丢失。

  • 这里使用的多播流量会导致显着的 battery drain on android, see here

关于android - 在 Android WiFi Direct 服务发现中发送数据而不是连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26367191/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com