私のサーバーはRESTプラットフォーム(asp.net MVC 4 Web apiで構築)であり、クライアントはiosアプリケーションです(もちろんObjective-c)。現在、すべての操作について、クライアントはhttp POST、GET、PUT、DELETEを使用してサーバーにクエリを実行します。ただし、サーバーがクライアントに何かが発生したことを通知する必要がある状況が1つあります。
Appleの方法はプッシュ通知であり、ユーザーがアプリのプッシュ通知を承認する場合は問題ありませんが、ユーザーがプッシュ通知をオフにしても、アプリに通知する必要があります(フォアグラウンドにある場合)。
今それを行うことができる2つの方法があります:
- クライアントは、何かが起こった場合、サーバー(http GET内)に数秒ごとにクエリを実行します(私たちはまだそこにいますか?私たちはまだそこにいますか?:)
- クライアントはなんらかの方法でサーバーへのソケットを開き、開いたままにして、サーバーが開いているセッションを通じて何かが起こったことを通知するのを待ちます。
それで、あなたは何をすることを提案しますか?1または2?または第三の道はありますか?オプション2の場合、誰かがそれを効率的に行う方法を教えてくれますか?私のアプリは100,000人を超えるアクティブユーザーを処理する必要があることを考慮しますか?
ありがとうございました