【问题标题】:Android Wi-Fi Direct send data before connectionAndroid Wi-Fi Direct 在连接前发送数据
【发布时间】:2016-03-02 19:00:47
【问题描述】:

我正在开发一个使用 Wi-Fi 直接连接设备的应用。我在这里阅读了如何连接、发送数据和断开设备连接:http://developer.android.com/guide/topics/connectivity/wifip2p.html。现在,我想在连接之前发送一些数据,以显示有关设备的一些信息。我用谷歌搜索了这个,但我找到的唯一答案是:Sending data in Android WiFi Direct service discovery instead of connecting,它使用服务发现。

有没有一种方法可以在配对过程之前发送数据而不使用服务发现?如果我不能,你能解释一下服务发现和普通的 Wi-Fi P2P 有什么区别吗?

谢谢。

【问题讨论】:

    标签: android android-wifi wifi-direct service-discovery wifip2p


    【解决方案1】:

    除非您有其他可以依赖的媒介(例如某种可以用来交换信息的后端),否则您将需要Service Discovery。

    我已经写了一些关于WifiP2p和Service Discovery的答案,建议你先看看。最后一个应该是你最感兴趣的。

    1. Why is discovering peers for Android WifiDirect so unreliable
    2. Wi-fi P2P. Inform all peers available of some event
    3. Wifi P2P service discovery works intermittently

    为了回答您关于WifiP2p 和ServiceDiscovery 之间区别的问题,让我用一个小比喻:

    想象一下你在机场,你刚刚降落在一个外国 国家。你要离开免税区,你会看到所有的人 正在等待降落在机场的人,就像 你做到了。你需要找到你的出租车司机。你知道他应该是 拿着一张写着你名字的小纸等着你。你 可以看到很多这样的人,每个人都拿着一个 一张纸,上面写着名字。你需要通读许多 直到你找到你的那个。但你不必说话 所有这些人。你只会和你的出租车司机交谈,你会 可能不仅仅是你的名字。

    现在让我解释一下……每个拿着一张纸的人都代表一个Broadcasted Service。每个broadcasted service 都可以携带一小段信息(人名)。信息的空间非常有限(你不能在纸上写太多),并且是“相对永久的”(需要一点改变它)。当您在寻找合适的人时,您正在执行Service Discovery。您无需与所有这些人交谈即可阅读这些文件上的名称 - 您无需连接到他们(WiFiP2p-wise)。当您找到您感兴趣的人时,您与该人交谈 - 您建立了 WiFiP2p 连接。现在您可以随心所欲地与他交谈 - 您可以通过连接传递尽可能多的数据。

    【讨论】:

    • 非常感谢,您的回答很清楚,而且做得很好。不幸的是,我正在考虑发送图像和其他一些信息之类的数据,但似乎这是不可能的。我将对此进行更多研究,以了解我可以将多少数据放入广播中。谢谢,+1 并接受。
    • 是的,您可能无法发送图像。也许你可以广播一个图片的网址(我不记得广播消息的限制)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-19
    • 1970-01-01
    • 2023-01-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多