0

ワイヤレス センサー (約 3 kb/s) からサーバーにデータをストリーミングする Android アプリを構築したいと考えています。

電話をウェイクアップするには、サーバーからソケットを簡単に使用できないことが判明しましたが、GCM プッシュ通知が必要です。ただし、ストリーミングを開始するためだけにすべての GCM を実装する場合は、独自の websocket 実装ではなく、データストリームにも GCM を使用する方が簡単です。

ドキュメントによると、パケットは最大 4 kb であり、デバイスが 1 秒に 1 回確実に送信できるのであれば、これで十分なはずです。しかし、GCM はそのような高速な間隔と帯域幅用に設計されていないため、実現可能で信頼できるかどうか、または代わりにサーバーへの直接接続を確立した方がよいかどうかを経験した人はいますか?

4

1 に答える 1

0

主に、あなたが言うように、GCMサービスは実際にはこれ用に設計されておらず、Googleは接続を抑制し、GCM通知を遅らせる権利を保持しているため、独自のサーバーに直接接続します.帯域幅。私自身、ストレス テストを実施しているときにこれを経験しました。通知の速度が低下し始め、最終的には、使用しているデバイスの Gmail アカウントが禁止されました。

GCM の一般的なパターンは次のようになります。

  1. デバイスが知る必要がある何かがサーバー上で発生します。

  2. GCM 通知は、たとえば CommandNumber = 1 などの小さなペイロードでデバイスに送信されます。

  3. デバイスは通知をリッスンし、 CommandNumber == 1 であるため、特定の方法で応答します。この場合、サーバーへのソケットを開くことができます。

于 2014-02-19T10:55:07.570 に答える