2015-03-02 192 views
2

我的问题是,它可能通过无线广播通过WiFi在多个Android设备之间发送和接收数据而无需建立p2p连接?Android广播/接收数据没有Wifi热点或WiFi直接

我们的教授要求我们设计一个无线网络系统,在其中您可以在您的android手机中播放消息,并且附近的其他Android手机可以接收并再次播放,以便其他手机可以接收它并继续如此。这样,例如,当有人在教室或咖啡厅写信时,每个人都可以接收并再次播放。 (如adhoc网络系统)。虽然我的教授认为它可以实现,但我没有发现任何类似于这种android网络系统的东西。所以我的问题又是否有可能做到这一点?

任何有用的线索和参考将不胜感激。我不得不改变问题的标题。

我找不到合适的解决方案,因此我尝试了以下方法:我使用Wifi热点(它对多客户端完美工作)设置了UDP消息传递应用程序。打开热点的电话是服务器,连接到它的其他人是客户端。然后,我决定把这个系统变成一个类似adhoc的系统,其中有多个热点,客户端将按照循环顺序连接到它们,并作为这些服务器之间的桥梁(每秒钟,他们将切换到其他热点,反之亦然)。所以,他们会将信息从一个网络传送到另一个网络。 (我知道这样效率很低,很容易出现时间延迟;但这是我迄今为止唯一的想法)。

当我告诉我的教授系统时,他说这太复杂了,我说只需要将设备上的消息广播到公共频道(无需建立网络连接),其他设备将监听此广播频道(无需连接到网络系统),接收消息并广播自己的消息正如我在问题主体中所描述的那样,再次收到了这个频道。 (他从来没有提到热点,直接Wifi等)。他甚至告诉我,我唯一需要做的就是思考更简单并使用802.11的属性。但是,我认为建立这样一个无线系统并不容易,至少对于尚未支持临时系统的Android来说。所以任何帮助将不胜感激。谢谢!

+0

您可以使用UDP(无连接协议)很容易地广播数据报。你所要做的就是解析设备端的数据报。以下是Android中一个简单的UDP示例:https://code.google.com/p/boxeeremote/wiki/AndroidUDP – Willis 2015-03-02 22:09:29

+0

感谢您的快速回复!对不起,如果我误解了,但UDP确实需要互联网连接,对吧?我们被要求设计一个无线网络,而无需使用WiFi技术进行任何互联网连接。 – Umit 2015-03-02 22:26:12

+0

尽管您确实需要现有的Wi-Fi网络,但您并不需要有效的互联网连接。已经有一些使用UDP通过Wi-Fi直接广播数据报的实验,但我不知道这是多么成功。你可以在这里找到更多的信息:http://stackoverflow.com/questions/15524593/broadcasting-over-wi-fi-direct – Willis 2015-03-02 22:43:53

回答

5

附近连接API在谷歌播放上周公布的服务使用无线网络的多播:https://developers.google.com/games/services/android/nearby

它适用于设备已在同一WiFi网络。但是,它使用主机/客户端模式,并且不适用于WiFi直接连接或连接的热点连接。

你也可以使用WiFi直连的API从ICS:https://developer.android.com/guide/topics/connectivity/wifip2p.html 你可以通过WiFi直接,所以发射的UDP数据包连接在一起的多个设备作为@willis建议似乎去

+0

感谢您的回答。附近的连接似乎很有希望,但我想要的是一个没有无线网络的通讯应用程序。 (没有热点,没有Wifi直接)。系统中的Android手机可以向公共频道广播一条消息,他们也可以收听该频道收到的消息。是否有可能创建一个这样的硬编码通道,手机可以发送和接收消息?正如我所说,我的教授仍然坚持这种制度的可能性。 – Umit 2015-04-03 14:01:55

0

这是可实现的方式。你知道空气裂缝吗?同样,您可以收到所有甚至未发送给您的数据包,并且您可以发送任何类型的数据包,甚至不会发送给您。

+0

是的,这种方式只能播放给接收者。数据帧中的数据字段被加密,您可以使用暴露的长度字段作为编码数据。答案网址见主要评论。 – 2015-10-19 00:39:32

+0

@RiceballLEE你提到过加密,想要播放,可以用开放系统,不用加密吗?或者每个人都有可能使用前缀键? – user1462586 2017-10-11 06:48:00

+0

在这里看到我的答案:https://android.stackexchange.com/questions/77569/how-to-do-connectionless-udp-broadcast-using-wi-fi/126284 – 2017-10-16 08:29:00