我的问题是,在不建立p2p连接的情况下,通过wifi广播可以在多个安卓设备之间发送和接收数据吗?
我们的教授要求我们设计一个无线网络系统,在这个系统中,你在你的android手机中广播一条消息,而旁边的其他android手机接收到它,然后再播放一遍,这样其他手机就可以接收到它,然后它就这样继续下去。以这种方式,例如,当有人在教室或咖啡馆写一条信息时,每个人都能接收到它并再次播放它。(就像一个自组织网络系统)。虽然我的教授认为这是可以实现的,但我并没有在网上找到像这样的android网络系统。所以我的问题是,是否有可能做这样的事情?
如有任何有用的线索和参考资料,将不胜感激。
编辑:,我不得不更改问题的标题。
我找不到合适的解决方案,所以我尝试了下面的方法:我使用Wifi建立了一个UDP消息应用程序(它非常适合多个客户端)。打开热点的电话是服务器,连接到它的其他人是客户端。然后,我决定将这个系统变成一个类似adhoc的系统,在这个系统中将有多个热点,客户端将按循环顺序连接到它们,并充当这些服务器之间的桥梁。(每秒钟,它们都会切换到其他热点,反之亦然。)因此,他们将信息从一个网络传送到另一个网络。(我知道这样做效率很低,而且容易出现时间延误,但这是我迄今提出的唯一想法。)
当我把这个系统告诉我的教授时,他说太复杂了,我只需把一条消息从一个设备广播到一个公共频道(没有建立一个网络连接),其他设备就会收听这个广播频道(不连接到一个网络系统),接收到信息,并将自己的消息和接收到的消息一起广播到这个频道,就像我在问题正文中所描述的那样。(他从未提到过热点、Wifi直接等等)他甚至告诉我,我唯一需要做的就是简单思考,并使用802.11的属性。但是,我认为建立这样一个无线系统并不是那么容易,至少对于还不支持即席系统的Android系统是如此。因此,任何帮助都将受到极大的感谢。谢谢!
发布于 2015-03-25 02:15:29
上周发布的Google服务中的邻近Connections使用了WiFi组播:https://developers.google.com/games/services/android/nearby
它适用于已经在同一WiFi网络上的设备。但是,它使用的是主机/客户端模型,不适用于WiFi直接连接或绑定热点连接。
您还可以使用ICS的WiFi直接APIs:https://developer.android.com/guide/topics/connectivity/wifip2p.html,您可以通过WiFi直接将多个设备连接在一起,因此按@willis的建议触发UDP数据包似乎是可行的方法。
发布于 2015-06-09 13:49:59
它是可实现的。你知道空气裂纹吗?同样,您可以接收所有的数据包,即使没有发送给您,您也可以发送任何类型的数据包,甚至不发送您。
https://stackoverflow.com/questions/28820225
复制相似问题