我的问题是,是否可以通过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数据包似乎是可行的方法
以上是内存溢出为你收集整理的没有Wifi热点或Wifi Direct的Android广播/接收数据全部内容,希望文章能够帮你解决没有Wifi热点或Wifi Direct的Android广播/接收数据所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)