2010-12-16 7 views
0

acani utilise zimt websocket pour le chat. Pouvons-nous faire en sorte que lorsqu'un utilisateur ferme son téléphone et le mette dans sa poche, il peut toujours recevoir des messages de discussion et envoyer des mises à jour de localisation au serveur node.js? Je pense que ce serait plus agréable que les notifications push. N'est-ce pas? Si non, pourquoi devrions-nous utiliser les notifications push à la place ou aussi?iPhone garder websocket ouvert en arrière-plan

Merci!

Répondre

6

Vous ne pouvez pas garder une prise réseau ouverte, sauf si vous êtes enregistré pour la lecture de musique VoIP/GPS/musique en arrière-plan.

Si vous vous inscrivez pour ceux-ci, puis ne les faites pas, Apple généralement rejeter l'application. La raison pour laquelle vous ne pouvez pas garder une socket réseau ouverte, est que sans votre application sautant au premier plan lorsqu'elle reçoit une connexion, elle ne peut pas répondre au trafic réseau (car si elle n'est pas au premier plan, son contenu est gelé) .

Le trafic réseau de fond tue la batterie, car les radios dans les téléphones sont l'une des pièces les plus gourmandes en énergie. Avec les notifications push, Apple gère la fréquence à laquelle elles sont envoyées, donc vous n'avez pas toutes les applications sur le téléphone interrogeant le réseau toutes les 2 minutes tuant la batterie, vous avez seulement une connexion réseau active, qui est intermittent.

+0

Merci! Comment vous inscrivez-vous pour la musique voip/GPS/musique en arrière-plan? – ma11hew28

+0

http://developer.apple.com/library/ios/#documentation/iphone/conceptual/iphoneosprogrammingguide/BackgroundExecution/BackgroundExecution.html contient des détails, lisez ceci attentivement, car ils peuvent être assez stricts sur la façon dont il est implanté. – MCannon

+0

En fait, je voulais dire, comment puis-je implémenter le service de notification push Apple? :) – ma11hew28

Questions connexes