现在项目上有这么个需求,客户拿着APP去一个深山老林里(或者去一个偏僻的村庄)去和核查情况,网络情况不是很好,有可能是2G网络 也有可能时刻断网,但是他要通过APP与服务器交互了,首先是登录就要与服务器交互,然后紧接着获取一些核查规则来查看,这些都是返回的json字符串,手机端进行解析,但是这种弱网络情况请求应该会很慢很慢吧,有没有一种方式能够变快呢? 我查阅了一些资料,网上说:服务端通过将数据压缩后然后传递给客户端,客户端在进行解压,在解析json并展示···· 哪位大神遇到过这种需求。求给个思路。谢谢!
リーリー
データ圧縮はデータ送信量を削減するために使用されます。ネットワークが弱い場合は速度が向上しますが、ネットワークがない場合は遅くなります。予測モデルを作成し、アプリが提供する関連パラメーターに基づいて次の期間のリクエスト コンテンツの事前送信を予測することは可能ですか?
最後のリクエストをキャッシュします。サーバーは、弱いネットワーク条件下でのみ変更されたコンテンツを配信し、変更されたコンテンツを表示のために最後のキャッシュに挿入します。このネットワークは最も経済的です。
データ キャッシュ。要求されたデータはデータ表示用にローカルにキャッシュできます。また、アップロードする必要があるデータも、最初にローカルにキャッシュして、ネットワーク信号が良好なときに送信することもできます。再接続に失敗するまで待ちます
ネットワーク伝送の効率を向上させ、リクエストの対話時間を可能な限り短縮するには、圧縮が必要です。
重複投稿の防止にもご注意ください。 (一部のインターフェースの冪等性を保証します)
ネットワークが弱いということは、サーバーが応答する前にネットワークが常に接続されていることが保証されている限り、リクエスト本文と戻り本文のサイズが十分に小さいことを確認することで解決できます。できるだけ圧縮してください... レスポンスを受け取ったら、クライアント側で解析するだけです
データ キャッシュは、新しいデータが取得される前に以前のデータがページに表示されるようにするために必要です。前述したように、読み取られたデータは、繰り返しのデータ圧縮を避けるためにキャッシュされます。
xml を使用してデータを転送し、ローカルに保存し、ネットワーク接続がない場合にローカル データを表示します
SQLiteでは一部のデータをパラメータ長と省略してhttpに戻り値があるかを判断して再送信します。
MQTTというものがあります