Question

Je travaille sur une application de messagerie (quelque chose comme Whatsapp) et j'ai un dilemme sur la mise en œuvre de sa fonctionnalité principale - Envoi de message de client1 au client2.

La chose est que j'utilise une conception de serveur centralisée, où les clients utilisent NsurlConnection pour envoyer des messages au serveur, le serveur ne conserve pas et gère les sockets ouverts et ne peut pas envoyer de message pour l'un des clients.Les clients ont une minuterie et interrogez le serveur toutes les 2 secondes pour voir si un nouveau message l'attend.

Le problème avec cette approche est que l'interrogation du serveur tous les 2 seconde semble tuer la batterie très vite, alors je pensais peut-être au lieu d'interroger le serveur de client, d'utiliser des APNS afin que le client1 envoie un message au serveur.Enverrons une notification push à client2, puis Client2 récupérera les données du serveur.

Cette approche fonctionnera-t-elle avec une application de messagerie massive nécessitant une notification de poussée massive?

Était-ce utile?

La solution

Oui.Je dirais que cette approche va bien et va bien performer.

Vous pouvez également créer une connexion de socket lorsque votre application est en cours d'exécution à l'avant.Mais le moyen d'APNS (votre mode préféré) fonctionnera également lorsque l'utilisateur a quitté votre application.

Les APN peuvent gérer une charge énorme.Là où seuls très peu de retards aussi loin que j'ai remarqué.

Le système push sur iOS est juste une connexion HTTP à Apple qui maintient le canal de réponse ouvert pendant quelques heures (comme charger une page Web pendant quelques heures). Il utilisera environ + 10% de votre batterie. Il serait donc préférable de ne pas créer une autre connexion HTTP / Socket HTTP / Socket HTTP / SOCKE à réutiliser des pommes (APNS) pour enregistrer la batterie des endutilisateurs.

Dans votre application, vous recevrez la notification push et vous pouvez analyser les données JSON, puis tirer / synchroniser avec votre propre serveur.

Vous devez également prendre à l'esprit quoi faire, lorsque votre application ne fonctionne pas au premier plan (vous pouvez afficher le message reçu sous forme de messages APNS comme WhatsApp.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top