现在项目上有这么个需求,客户拿着APP去一个深山老林里(或者去一个偏僻的村庄)去和核查情况,网络情况不是很好,有可能是2G网络 也有可能时刻断网,但是他要通过APP与服务器交互了,首先是登录就要与服务器交互,然后紧接着获取一些核查规则来查看,这些都是返回的json字符串,手机端进行解析,但是这种弱网络情况请求应该会很慢很慢吧,有没有一种方式能够变快呢? 我查阅了一些资料,网上说:服务端通过将数据压缩后然后传递给客户端,客户端在进行解压,在解析json并展示···· 哪位大神遇到过这种需求。求给个思路。谢谢!
으아악
데이터 압축은 데이터 전송량을 줄이기 위해 사용됩니다. 약한 네트워크에서는 속도를 높일 수 있지만 네트워크가 없으면 쓸모가 없습니다. 앱에서 제공하는 관련 매개변수를 기반으로 예측 모델을 만들고 다음 기간에 요청 콘텐츠가 사전 전송될지 예측할 수 있나요?
마지막 요청을 캐시합니다. 서버는 네트워크 상태가 약한 경우에만 변경된 콘텐츠를 전달하고 변경된 콘텐츠를 마지막 캐시에 삽입하여 표시합니다. 이 네트워크가 가장 경제적입니다.
데이터 캐싱, 요청된 데이터는 데이터 표시를 위해 로컬로 캐시될 수 있으며, 업로드해야 하는 데이터는 먼저 로컬로 캐시되어 네트워크 신호가 좋을 때 전송할 수 있습니다. 재접속 실패를 기다려주세요.
네트워크 전송의 효율성을 높이고 요청 상호 작용 시간을 최대한 단축하려면 압축이 필요합니다.
중복 제출 방지에도 주의하세요. (일부 인터페이스의 멱등성 보장)
약한 네트워크는 서버가 응답하기 전에 네트워크가 지속적으로 연결되어 있는지 확인하는 한 요청 본문과 반환 본문의 크기가 충분히 작아야 한다는 것을 의미합니다. 친구는 없습니다. 최대한 압축하세요... 응답을 받으면 클라이언트에서 구문 분석하세요.
새 데이터를 얻기 전에 이전 데이터가 페이지에 표시되도록 하려면 데이터 캐싱이 필요합니다. 위에서 언급한 데이터 압축을 피하기 위해 읽은 데이터가 캐시됩니다.
xml을 사용하여 데이터를 전송하고 로컬에 저장하며 네트워크 연결이 없을 때 로컬 데이터를 표시합니다.
SQLite는 일부 데이터를 매개변수 길이로 축약하여 저장합니다. http에 반환 값이 있는지 확인한 후 다시 보냅니다.
MQTT라는 것이 있습니다