J'ai créé un serveur de discussion simple qui est piloté par l'interrogation du client. Les clients envoient des requêtes de données toutes les quelques secondes et reçoivent les nouveaux messages ainsi que des informations indiquant si leur homologue est toujours connecté.Comment créer un serveur de discussion qui n'est pas piloté par interrogation?
Depuis que le client fonctionne sur une plate-forme mobile (iPhone), j'ai cherché des moyens de se débarrasser de l'interrogation, qui draine rapidement la batterie. J'ai lu qu'il est possible de garder une connexion HTTP ouverte indéfiniment, mais je n'ai pas compris comment utiliser cette technique dans la pratique. Je me demande aussi si ces connexions sont assez stables pour être utilisées dans un environnement mobile.
Le scénario idéal serait que le serveur envoie uniquement des données aux clients lorsqu'un événement les affectant s'est produit (par exemple, un homologue postant un message ou sortant de la ligne).
Est-il conseillé d'essayer d'accomplir ceci sur http, ou devrais-je écrire mon propre protocole sur TCP? Comment serait-il difficile de personnaliser xmpp à mon besoin (mon serveur de chat a quelques fonctionnalités spécialisées que je devrais mettre en œuvre facilement).
http://stackoverflow.com/questions/337985/comet-server-push-to-client-on-iphone –
Oui, c'est ce que j'avais à l'esprit, et la discussion à laquelle Russell L est lié est très utile aussi . Merci à tous les deux. – Felixyz