サーバーと非常に集中的に通信するアプリがあるとしましょう (1 秒間に数回のリクエスト)。同じ秒内に送信されるリクエストは独立しています。
データ交換の速度を改善し、トラフィックを最小限に抑えるために、どのような方法を提案できますか? それぞれの実装方法を教えてください。
PS: この質問は雇用主との面接で受けたので、具体的には言えません。「ありのまま」でお届けしました
サーバーと非常に集中的に通信するアプリがあるとしましょう (1 秒間に数回のリクエスト)。同じ秒内に送信されるリクエストは独立しています。
データ交換の速度を改善し、トラフィックを最小限に抑えるために、どのような方法を提案できますか? それぞれの実装方法を教えてください。
PS: この質問は雇用主との面接で受けたので、具体的には言えません。「ありのまま」でお届けしました
非常にオープンな一般的な質問なので、どのパラメーターを使用すればよいかわかりません。しかし...
1) テスト送信には XML ではなく JSON を使用します。
2) 絶対に必要な以上のデータを表示しないでください。つまり、テキストのみを表示する必要がある場合は、追加の画像を表示せずに実行してください。
3) 画像を送信するときは、強力な圧縮を使用してください。NSData *imageData = UIImageJPEGRepresentation(yourImage, compression);
4) 非同期伝送とブロックを使用します。
5) TCP を使用し、それを台無しにしないでください。
6) できるだけ多くのデータを 1 回の送信にまとめるようにしてください。
最善のアドバイス - そうしないでください。リクエストは高価です。可能であれば最適化します。1 回のリクエストで、できるだけ多くの (そして妥当な) データを送受信します。不可能な場合は、HTTP での圧縮 (通常は gzip) の使用を試み、サーバーの応答を最小限に抑え (空白を省略するなど)、可能な場合はキャッシュを使用します。
igo に同意し、代わりにプロトコルを最適化してください。永続的な TCP ソケットを使用し、Google のプロトコル バッファ ( https://developers.google.com/protocol-buffers/ )などを調べます。