现在项目上有这么个需求,客户拿着APP去一个深山老林里(或者去一个偏僻的村庄)去和核查情况,网络情况不是很好,有可能是2G网络 也有可能时刻断网,但是他要通过APP与服务器交互了,首先是登录就要与服务器交互,然后紧接着获取一些核查规则来查看,这些都是返回的json字符串,手机端进行解析,但是这种弱网络情况请求应该会很慢很慢吧,有没有一种方式能够变快呢? 我查阅了一些资料,网上说:服务端通过将数据压缩后然后传递给客户端,客户端在进行解压,在解析json并展示···· 哪位大神遇到过这种需求。求给个思路。谢谢!
雷雷
資料壓縮用來減少資料傳輸量,可以在弱網下提高速度,但無網就跪了。是不是可以做預測模型,根據是app提供相關參數預測其下一時間段的請求內容預先發送。
做上一次請求的緩存,伺服器在弱網路情況下只下發變更的內容,將變更內容插入上一次的快取進行展示。這樣網路是最省的。
資料緩存,可以請求到的資料快取本地做資料顯示,需要上傳的資料也可以先快取本地,等到網路訊號好時傳輸。失敗重連等,
壓縮是需要的,可以提高網路傳輸的效率,盡可能的縮短請求的互動時間。
還有要注意防止重複提交。 (保證某些介面的冪等性)
弱網路,就等於是有網路.只要保證在伺服器回應之前不斷網路,就好解決.保證請求體和返回體的體積小到沒朋友.盡可能的壓縮.....收到回應再在客戶端解析就可以了.
需要做資料緩存,保證在未獲取到新資料之前頁面有之前資料顯示;已讀取過的資料做緩存,避免重複的網路請求;資料壓縮,樓上都說過了
用xml傳遞數據,儲存至本地,沒網的時候顯示本地的數據
sqlite存部分數據,敏感數據就簡寫參數長度,判斷http有無回傳值沒有就再發
有種東西叫 MQTT