gpt4 book ai didi

安卓通讯: Phone to Phone Application Control over 3G

转载 作者:行者123 更新时间:2023-11-30 04:29:03 25 4
gpt4 key购买 nike

我目前正在开发一个 Android 项目,我正试图找到在两部 Android 手机之间建立通信的最佳方式。

一部 Android 手机将停靠在移动平台上,例如遥控车。我想让这部手机接收从另一部安卓手机发送的简单控制信号(“前进”、“后退”、“左”、“右”、“gotoCoordinate”)。我还希望对接的电话能够返回状态信号。

我希望通过 GPRS 进行通信。我知道有关 P2P 通信的困难,我目前正在研究“Android 云到设备消息传递”。 (http://code.google.com/android/c2dm/index.html)

我想听听您使用 Android C2DM 的体验(很高兴听到从传输到接收的延迟)以及您对在我的项目中使用它的想法。我会很感激关于如何去做的其他建议。我预计使用此方法必须处理相对较高的延迟,但当然最好尽可能低。

最佳答案

C2DM 不保证消息的“交付或顺序”,并且它限制了您可以发送的消息数量(一个上限,但仍然是一个限制)。它并不是真正用于低延迟的东西,比如控制 RC 汽车。它更适合非实时事件。

http://code.google.com/android/c2dm/

对于使用 GPRS 的低延迟内容,您可以自行设置第三方服务器并让两部手机通过它进行通信。我已经为几个使用直接 TCP 套接字的 Android 应用程序做到了这一点,并且它工作得相当好(如果你使用 UDP,它会更快/更好)。使用 GPRS 可能仍然会有太多的延迟,这取决于您的需要,但这是一个权衡(它很方便,几乎总是有,其他方法没有)。

实现此目的的理想方法是结合可用的任何内容并优雅地回退,并在连接后测试延迟以确保网络达到标准或退出。例如,如果可用,请使用本地 WiFi 网络。也就是说,让两个设备在启动时都向第三方服务器“注册”,然后如果它们都在同一个 WiFi 上,就让它们直接通信(在一个或两个上运行服务器,在一个或两个上运行客户端,从注册中获取有关发现等信息)。如果他们不在 WiFi 上,则回退到 GPRS,但要意识到会有更多的延迟,当然。最后,一旦建立了任何方法,就会发送一些测试消息来检查延迟。

我知道这并不是一个真正的“答案”,它更像是一种意识流,但它不适合发表评论,我认为它可能会有所帮助 ;)。

(全面披露:我开发过连接多台移动设备和多台电视的 Android 应用程序,有些是通过 GPRS,有些是 Wifi,有些是直接连接。我在一家公司 (MOVL) 工作,该公司为类似的东西制作了一个平台,它更侧重于移动-电视-移动,但它也支持移动-移动。总而言之,您自己使用常规网络并不难,棘手的部分是降低延迟并为每个设备选择正确的方法。)

关于安卓通讯: Phone to Phone Application Control over 3G,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8037330/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com