其他分享
首页 > 其他分享> > 没有Wifi热点或Wifi Direct的Android广播/接收数据

没有Wifi热点或Wifi Direct的Android广播/接收数据

作者:互联网

我的问题是,是否可以通过wifi广播在多个Android设备之间发送和接收数据,而无需建立p2p连接?

我们的教授要求我们设计一个无线网络系统,你在你的Android手机中广播一条消息,附近的其他Android手机接收它并再次广播,以便其他手机可以接收它,并继续这样.通过这种方式,例如,当有人在教室或咖啡馆中写入消息时,每个人都能够接收它并再次广播它. (就像一个adhoc网络系统).虽然我的教授认为它可以实现,但我没有在网上找到像这种Android网络系统那样的东西.所以我的问题是再次有可能做那样的事情吗?

任何有用的线索和参考将不胜感激.

编辑:我不得不改变问题的标题.

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

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

解决方法:

上周发布的Google Play服务中的Nearby Connections API使用WiFi多播:https://developers.google.com/games/services/android/nearby

它适用于已在同一WiFi网络上的设备.但是,它使用主机/客户端模型,不适用于WiFi直连或系留热点连接.

您还可以使用ICS:https://developer.android.com/guide/topics/connectivity/wifip2p.html的WiFi直接API
您可以通过WiFi直接将多个设备连接在一起,因此,如@willis所示,启动UDP数据包似乎是可行的方法

标签:broadcast,android,wifi,wifip2p,wireless-connection
来源: https://codeday.me/bug/20190830/1765411.html