【发布时间】:2015-03-02 21:58:02
【问题描述】:
我的问题是,是否可以通过 wifi 广播在多个 android 设备之间发送和接收数据而无需建立 p2p 连接?
我们的教授要求我们设计一个无线网络系统,在这个系统中,你在你的安卓手机中广播一条消息,附近的其他安卓手机接收它并再次广播,以便其他手机可以接收它并继续这样。这样,例如,当有人在教室或咖啡馆写消息时,每个人都可以收到并再次广播。 (就像一个自组织网络系统)。虽然我的教授认为这是可以实现的,但我没有在网上找到像这种安卓网络系统这样的东西。所以我的问题再次是有可能做这样的事情吗?
任何有用的线索和参考将不胜感激。
编辑:我不得不更改问题的标题。
我找不到合适的解决方案,所以到目前为止我尝试了以下方法:我使用 Wifi 热点设置了一个 UDP 消息传递应用程序(它非常适合多客户端)。打开热点的手机是服务器,连接到它的其他人是客户端。然后,我决定把这个系统变成一个类似 adhoc 的系统,其中会有多个热点,客户端会以循环的顺序连接到它们,并充当这些服务器之间的桥梁。(每一秒,它们都会切换到另一个热点,反之亦然。)因此,它们会将消息从一个网络传送到另一个网络。 (我知道它的效率很低,而且容易出现时间延迟;但这是我目前唯一想到的想法。)
当我把这个系统告诉我的教授时,他说它太复杂了,我只需要将消息从一个设备广播到一个公共频道(无需设置网络连接),其他设备就会收听这个广播频道(不连接到网络系统),接收消息并将自己的消息与收到的消息一起再次广播到该频道,如我在问题正文中所述。 (他从未提及热点、Wifi 直连等。)他甚至告诉我,我唯一需要做的就是想得更简单,并使用 802.11 的属性。但是,我认为设置这样一个无线系统并不容易,至少对于尚未支持 ad hoc 系统的 Android 而言。因此,任何帮助将不胜感激。谢谢!
【问题讨论】:
-
您可以使用 UDP 轻松广播数据报,UDP 是一种无连接协议。您所要做的就是在设备端解析数据报。这是 Android 中的一个简单 UDP 示例:code.google.com/p/boxeeremote/wiki/AndroidUDP
-
感谢您的快速回复!对不起,如果我误解了,但 UDP 确实需要互联网连接,对吧?我们需要设计一个无线网络,没有任何互联网连接,只使用 wifi 技术。
-
虽然您确实需要一个现有的 Wi-Fi 网络,但您不需要有效的互联网连接。已经有一些使用 UDP 通过 Wi-Fi 直接广播数据报的实验,尽管我不知道这有多成功。您可以在这里找到更多信息:stackoverflow.com/questions/15524593/…
-
感谢您的建议!对于迟到的回复,我们深表歉意。我编辑了上一条消息。
-
@umit:你有这个问题的新解决方案吗?
标签: android wifi broadcast wifip2p wireless