0

私はAndroid開発の初心者です。リアルタイムのオンデマンドのクラウド フィードバックを可能にする Android アプリを開発する必要があります。

アイデアは次のとおりです。タスク プロデューサーは、x 日、y 時間に n 人のワーカーによってタスクを解決する必要があるため、これをシステムに通知します。ワーカーは、タスクが利用可能になったときにそれを確認し、サブスクライブします。その日時に、タスク プロデューサーはサブスクライブされたワーカーに送信されるタスクを投稿し、ワーカーはすぐにそれを解決します。タスクが解決されるとすぐに結果をタスク プロデューサーに返す必要があります。

サーバーを使用せずにタスク プロデューサーとタスク ワーカーの間の通信を有効にするには、どのアーキテクチャ パターンを使用すればよいかわかりません。

タスク プロデューサーとタスク ワーカーの間の通信には、MVP とパブリッシュ サブスクライブを使用することを考えました。これは正しいアプローチでしょうか?

4

1 に答える 1

1

サーバーを使用する必要があります。データを送受信するための中心点がなければ、これを達成する方法はありません。タスク プロデューサーをサーバーとして使用することはできますが、接続の問題が発生することは間違いなく、この方法では問題が発生します。

これには、おそらく IP アドレスによって、すべてのコンシューマがプロデューサを「知っている」必要があります。このアドレスは定期的に変更されるため、クライアントが見つけられるように、おそらく動的 DNS サーバーに登録する必要があります。

次に、プロバイダー アプリでソケット サーバーを実行して、コンシューマーが接続してタスクをプルし、結果をプッシュできるようにする必要があります。

これは複雑になり、最終的には携帯電話ネットワークではうまく機能しません。タスクの集中型データベースがあれば、さらに簡単になります。電話機は、集中型アプリケーションのクライアントとして機能します。

私はこれを見つけました:http ://developer.android.com/guide/topics/connectivity/wifip2p.html Androidの純粋なピアツーピアアーキテクチャに関連するプロセスをたどります。これは間違いなく良い出発点です。

于 2016-04-29T17:20:35.260 に答える