私のアプリケーションサーバーの要件は次のとおりです。
- 携帯電話からセンサーデータを受信する (HTTP を使用)
- それらを処理する (python ライブラリ)
- モバイル デバイスに通知を送信します (Android デバイスでは通知としてレンダリングされます)。
実装のセットアップ:
上記を行うために、私のサーバーには 3 つのモジュールがあります。
- Django アプリ モジュール: Android デバイスからサーバーに送信される HTTP 要求に対応するために、推論ライブラリに HTTP インターフェイスを提供します。
- Python Inference Library : 電話から受信したセンサー データを処理します。
- GCM App Server Module : 以下で説明
GCM App Server Module : Android を実行しているモバイル デバイスとの間でメッセージを配信するために、Google のサーバー (アプリ サーバーと Android デバイスの間にある) と通信するCCS を使用して GCM メッセージ アプリ サーバーを実装しました。以下は彼らの公式ウェブサイトからのものです(前のリンク):
GCM Cloud Connection Server (CCS) は、Google サーバーへの永続的で非同期の双方向接続を提供する XMPP エンドポイントです。この接続を使用して、サーバーとユーザーの GCM 接続デバイスの間でメッセージを送受信できます。
ドキュメントでは、GCM App サーバーを実装するために参照および使用したサンプルの Python スクリプトが提供されています。この実装は、永続的に実行されるスタンドアロン スクリプトとして実行されます。
Python 推論ライブラリと Django アプリ モジュール: 電話から受信したセンサー データを処理する推論ライブラリを Python に実装しました。Android デバイスと通信するための Django インターフェイスがあります。推論ライブラリは Django アプリ サーバー内にあります。
問題:
GCM App Server スクリプトにはいくつかの関数が含まれており、そのうちの 1 つはsend_message(),
Android デバイスにメッセージを送信する関数です。処理済みのデータをデバイスに送信できる場合は、推論ライブラリ スクリプトでこの関数を参照する必要があります。または、永続的なオープン XMPP 接続クライアントを参照してメッセージを送信する必要があります。GCM アプリ サーバー スクリプトに処理コードを配置することは避けたいと考えています。上記を行う方法を見つけるために、私は何週間も立ち往生しています。
現在のセットアップでこれを行う方法はありますか、それとも他のレイヤー/モジュールを追加する必要がありますか?
どんな助けや提案も大歓迎です。
ありがとう。