2016-04-28 3 views
0

Je suis un débutant dans le développement Android. Je dois développer une application Android qui permet une rétroaction en temps réel sur demande. L'idée est la suivante: le producteur de tâches a besoin d'une tâche à résoudre le jour x, le temps y, par n travailleurs, donc il l'annonce au système; les travailleurs voient quand une tâche est disponible et ils y souscrivent; à cette date et heure, le producteur de tâches poste la tâche qui est envoyée aux travailleurs abonnés, qui la résolvent immédiatement et le résultat doit être renvoyé au producteur de tâche dès que la tâche est résolue.Architecture de l'application de crowdsourcing pour le processus en temps réel

Je ne suis pas sûr quel modèle d'architecture utiliser afin que je puisse activer la communication entre le producteur de tâches et l'agent de tâche sans utiliser un serveur.

J'ai pensé à utiliser MVP et publier-abonner pour la communication entre le producteur de tâches et le responsable de tâches. Serait-ce la bonne approche?

Répondre

1

Vous devez utiliser un serveur. Il n'y a aucun moyen d'accomplir cela sans un point central pour envoyer des données. Vous pouvez essayer d'utiliser le générateur de tâches en tant que serveur, mais vous aurez certainement des problèmes de connectivité et avez des problèmes avec cette approche.

Cela exigerait que tous les consommateurs «connaissent» le producteur, probablement par adresse IP. Cette adresse change régulièrement, donc vous voudrez probablement l'enregistrer avec un serveur DNS dynamique afin que les clients puissent le trouver.

Ensuite, vous devrez exécuter un serveur de socket dans l'application du fournisseur pour permettre aux consommateurs de se connecter et de tirer des tâches, et de pousser les résultats.

Cela va être compliqué, et finalement ne fonctionne pas très bien avec un réseau de téléphonie cellulaire. Cela devient beaucoup plus facile s'il existe une base de données de tâches centralisée, et que les téléphones agissent en tant que clients de cette application centralisée.

J'ai trouvé ceci: http://developer.android.com/guide/topics/connectivity/wifip2p.html ce type de marche à travers le processus impliqué dans une pure architecture peer-to-peer sur android, c'est certainement un bon point de départ.

+0

Merci! Comme je suis un débutant, je pense que je vais aller chercher le serveur ... – Betty