Android WiFiDirect 服务发现混乱

Posted

技术标签:

【中文标题】Android WiFiDirect 服务发现混乱【英文标题】:Android WiFiDirect service discovery confusion 【发布时间】:2014-11-08 22:48:48 【问题描述】:

我正在尝试使用 WiFi Direct 服务发现来连接两部安卓手机。我只对一部能够发送连接请求的手机感兴趣。我想我需要做的是在一部手机上注册一个本地服务,然后在另一部手机上发现该服务,发现后我可以连接到它。但似乎我必须在两部手机上进行发现才能让它工作......所以我只是对正在发生的事情感到困惑。我正在使用this tutorial。任何人都可以帮助我了解连接两部手机的必要条件吗?我不能让一部手机只注册而另一部手机只发现?

【问题讨论】:

【参考方案1】:

这真的取决于你想要做什么。您实际上可以发现其他设备并执行连接,而无需在顶部设置服务发现层。对等发现和服务发现不是一回事。对等发现涉及检测附近所有使用 Wifi Direct 的设备,而服务发现仅涉及发现宣传特定类型服务的设备。

您应该先从另一个Tutorial 开始,然后再继续学习服务发现,这是一个更高级的主题。

【讨论】:

【参考方案2】:

您可以使用对等发现检测其他设备,但不需要服务发现来交换数据或服务。您也可以在连接设备后使用套接字连接 - 用于交换文件。

【讨论】:

【参考方案3】:

值得一提的是,使用 ServiceDiscovery,您可以发送一些额外的数据,例如运行端口或 record 映射中的其他内容(至少在 DNS-SD 中)。

【讨论】:

以上是关于Android WiFiDirect 服务发现混乱的主要内容,如果未能解决你的问题,请参考以下文章

wifi直接android应用创建

在android上的wifidirect中更改设备名称

Wifi 直连发现

将 iPhone 连接到 Android 的 Wifi Direct 软 AP

Android 将设备名称重命名为 wifi-direct

Wifidirect Discovery 找不到对等点