至于澄清,这个问题不再重复 情况与其他相关问题不同。
我们正在开发一个客户端应用程序,它将从服务器端PHP驱动的Web应用程序接收数据。数据至关重要,必须尽快交付给用户。如果客户端请求来自服务器或服务器的数据将数据推送到客户端并不重要,我们唯一需要的是可靠和快速选项。
有几种方法,但它们不符合我们的项目:
这是一个很好的选择,但在实践中,我们失去了几次推动,因此它不可靠,另一方面,延迟是如此之多。我再说一遍,情况非常严峻,所以一定要快。
这是我们认为目前为止最好的解决方案,但实际上非常昂贵。它可靠而快速。但另一方面,我们受干扰的服务器的压力变得非常高,即使使用我们当前的客户端数量,它们也变得无用。如果客户数量增加,我们就会失败。
我们的另一个选择是向客户端电话发送短信并使用该数据来操作应用程序。使用这种方法,我们服务器上的压力会非常低(就像GCM选项一样)。但是在我们国家的移动网络中发送短信通常会延迟10秒。虽然这个选项具有良好的可靠性,但速度很低,我们无法使用它。
我们可以使用客户端FM无线电接收器从本地广播电台获取数据。这种方法可靠且速度非常快,但站点的成本会让我们失望!即使我们处理它(读:我们不能),客户也不会将耳机连接到智能手机。
那么,有哪些替代方案?什么是可靠且几乎快速的方法,不会给我们的服务器带来很大的压力?
答案 0 :(得分:1)
可能会建议您使用WebSockets
来描述(例如使用OkHttp
库) - 请参阅下面的内容,了解它的使用情况https://medium.com/@ssaurel/learn-to-use-websockets-on-android-with-okhttp-ba5f00aea988。常见的模式是使用带有Http REST请求的WebSockets(例如,用于初始追赶查询)。此外,您通常只在应用程序处于前台时使用WebSockets,否则依赖推送通知。