2016-09-20 9 views
-1

私はREST APIを通して自分のサーバーと通信するアプリケーションを作成しています。あなたが知っているように、サーバーにPOSTとGET要求を送信し、モバイルアプリで応答を受信することで、これが動作することがわかります。この呼び出しは、ログインにも20秒以上かかる場合があります。アプリが遅くて、私はそれを防止したいiOSアプリケーション開発のWebソケットまたはWebサービス?

私は別のオプションがSocket.ioを使ってWeb Socketになる可能性があると考えていました。私が理解する限り(前に試したことがない)Webソケットを使用すると、私のサーバーとの通信がずっと高速になります。

ご意見はありますか?

皆さんありがとうございました! :)

+0

まず、サーバーの速度が遅い場合、それはサーバーの制限事項ですが、接続方法に違いはありません。レスポンシブサーバーの私の経験では、HTTPはちょうど1,2秒で応答を得ることができます。第二に、ネットワークトラフィックは遅くても遅くても、アプリは遅い時間に対処できる必要があります。 – Gruntcakes

答えて

1

websocketでREST API構造全体を移行する場合は、これは価値のないアイディアです。

Websocketは基本的にデータをブロードキャストするために使用され、誰でもwebsocketに接続されていれば、データを読み込んでさらに処理することができます。あなたがのUITableViewで100人のユーザーを持ち、画像「GREEN」「GRAY」は、ユーザがオンラインであることを示すことがあるアプリを、開発している場合たとえば

は、スカイプ、のWhatsAppや他のVOIPアプリ

のように考えますまたはオフラインです。その場合、websocketが役に立ちます。 viewWillAppearで

あなたは、すべてのユーザーのリストを取得する必要があり、

注 - ユーザーは(ログイン)オンラインあるが、彼らは、彼らがオンラインであるとしてフラグをWebSocketをして提供するために、接続する必要があります。

すべてのユーザーからの応答が得られたら、websocketでオンラインでフラグが立てられたすべてのユーザーからのIDを比較する必要があります。 "GREEN"イメージ以外の "GRAY"イメージを表示する必要があります。

したがって、ブロードキャストペイロードを取得したときに、上記のさらなるアクティビティが発生したときに、ユーザーフラグがwebsocketで維持されるようにログインまたはログアウトすると、したがって、すべてのユーザーAPI応答を取得して、それらをオンラインまたはオフラインにする必要はありません。

基本的に、websocketは、放送目的やいくつかの小さな活動のために有益です。 websocketでREST APIの構造全体の負荷を転送しないでください。

リクエスト/レスポンス時間を短縮することを検討してください。

幸いなコーディングがあります。

+0

おかげで、これが私の必要なものです。素晴らしい日 – mkmnstr

関連する問題