【问题标题】:Can Android do peer-to-peer ad-hoc networking?Android 可以做点对点的 ad-hoc 网络吗?
【发布时间】:2010-12-28 06:39:33
【问题描述】:

是否可以将 Android 设置为 ad-hoc 点对点 wifi 模式?例如,我想让一部手机广播一条消息,并让网络中的所有对等方接收广播,而无需服务器。我想使用 wifi,因为蓝牙范围更有限。

【问题讨论】:

  • 您是在谈论“Android 到 Android”还是“Android 到任何”(如 pc、mac、iphone 等)?
  • @Doughy 如果您找到任何解决方案,请分享。

标签: android networking wifi p2p adhoc


【解决方案1】:

这是您请求的功能的错误报告。

它的状态是“已审核”,但我认为它尚未实施。

http://code.google.com/p/android/issues/detail?id=82

【讨论】:

  • 请对这个错误投赞成票,任何对 Android 上的 Ad Hoc 感兴趣的人 - 由于缺乏 ad hoc,我有一个更棘手的应用创意
【解决方案2】:

虽然 Android 无法找到并连接到 ad-hoc 网络,但它肯定可以连接到接入点。因此,作为一种变通方法,您可以使用例如Connectify 将您的无线网卡变成一个接入点。

【讨论】:

  • 还有其他可用的 Windows XP 兼容工具吗?
  • 最佳答案!这工作迅速而完美。 Connectify 非常酷。
  • 安装这个应用程序给了我蓝屏!
【解决方案3】:

我和我的朋友目前正在我们的学士论文中开发一个实现 AODV 协议(适用于移动网络的多跳路由)的 java 库。最终的“产品”包括一种在多个 android 设备上创建/加入 adhoc 网络的简单方法,以及一个通过库发送和接收消息的接口。不幸的是,每种类型的手机(例如 hero、nexsus one...)都有一种依赖手机的方式来创建自组网络,因此目前我们只支持少数手机)。

这意味着一旦这个项目完成,拥有根手机的人可以通过在他们的 android 项目中简单地包含库 .jar 文件来实现他们的分布式应用程序(文件共享、游戏等)。

顺便说一句,都是开源的

http://code.google.com/p/adhoc-on-android/

【讨论】:

  • 完全忘记了这篇文章,抱歉。如果有人有兴趣,我们今天刚刚提交了论文(用英文写的!),我很乐意分享信息。我的邮箱是 jradi88@gmail.com
  • 我已经把源代码和文档(一份报告)上传到code.google.com/p/adhoc-on-android
  • 有没有其他设备@RabieJradi 的出路?
  • 如果你想支持其他设备,不幸的是,唯一的方法是实现所需的命令(取决于手机!)来设置和拆除 ad-hoc 网络并编译一个新的 C基于 startstopadhoc.c 的库(您需要修改的文件)。您可以在这里找到源代码:code.google.com/p/adhoc-on-android/source/browse/trunk/jni/… 如果幸运的话,您需要执行的命令可能与 Nexus One 的设置类似,因此您可能只需要使用现有的编译 C 库即可。
  • 通过查看以下项目code.google.com/p/android-wifi-tether,我们基本上得到了帮助以找出设置所需的命令
【解决方案4】:

您可以将您的 android 设备连接到已知的 ad-hoc 网络。

编辑/system/etc/wifi/tiwlan.ini

WiFiAdhoc = 1
dot11DesiredSSID = <your_network_ssid>
dot11DesiredBSSType = 0 

编辑/data/misc/wifi/wpa_supplicant.conf

ctrl_interface=tiwlan0
update_config=1
eapol_version=1
ap_scan=2

如果这太简单了,请参阅这些instructions

【讨论】:

  • 这仅适用于使用德州仪器 WIFI 实现的设备,并且在没有 root 的情况下无法使用,并且不适用于所有设备。
【解决方案5】:

API level 14 开始支持点对点 WiFi 网络。

【讨论】:

  • 请注意,WiFi P2P API 加载了多个错误。 253972641826483
  • 我认为它只适用于 Wifi 直连设备。由于它是目前仅在手机上提供的新硬件功能,因此我们无法使用它来连接笔记本电脑。
【解决方案6】:

您的答案是 ICS 提供的 Wi-Fi direct。这是Android doc中的解释链接

【讨论】:

    【解决方案7】:

    在 Android 上使用 JmDNS 可能有效:http://jmdns.sourceforge.net/

    那里有 台启用 zeroconf 的机器,因此这不仅可以使用 Android 设备进行发现。

    【讨论】:

    • 虽然这个链接很有用,但根本没有回答问题。 ZeroConf DNS != Ad Hoc 无线。
    【解决方案8】:

    您可以使用Alljoyn 框架在Android 中实现点对点连接。它基于 Ad-hoc 网络,也是开源的。

    【讨论】:

    • 例子很难理解@Selva我已经分析了alljoyn的源代码。
    【解决方案9】:

    我不认为它提供了多跳无线数据包路由环境。但是,您可以尝试集成一个简单的路由机制。只需查看Wi-Share 即可了解如何完成。

    【讨论】:

    • 这个概念很好,但代码不存在......@jaxvy
    【解决方案10】:

    是的,但是:
    1. 根您的设备(如果您有像我这样的 Nexus S,请参阅this
    2. 安装根资源管理器(在市场中搜索)
    3.找到合适的wpa_supplcant文件并替换(和备份)原始文件,如this thread所示

    以上是在我的 Nexus S I9023 android 2.3.6 上测试的

    【讨论】:

    • 嗯,这很好@kreker...所以你可以使用 wifi peer to peer 使用 android 2.3 吗?好的!可以给我们分享一下教程吗?
    • @gumuruh 我的答案是教程
    【解决方案11】:

    除了 Telmo Marques 回答:我为此使用 Virtual Router

    与 connectify 一样,它会在您的 Windows 8、Windows 7 或 2008 R2 机器上创建一个接入点,但它是开源的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-06
      • 1970-01-01
      • 2013-04-09
      • 1970-01-01
      • 1970-01-01
      • 2013-03-03
      • 1970-01-01
      相关资源
      最近更新 更多