Question

Je souhaite créer un programme qui communique avec un serveur Cometd afin de permettre l'envoi de données à l'application.

Je l'ai fait côté Web en utilisant AJAX, mais je ne suis pas sûr du meilleur moyen de le faire avec Cocoa.

Je peux établir une connexion standard à l'aide de NSURLRequest et de NSURLConnection, mais comment puis-je conserver cette connexion afin de pouvoir envoyer des données en cas de besoin et obtenir les informations push en cas de besoin?

Est-ce que j'y vais même de la bonne façon?

Merci d'avance

Était-ce utile?

La solution

En termes de notifications push, si le serveur http ne ferme pas la connexion, la connexion NSURLConnection restera ouverte et vous obtiendrez des données. Notez que si vous concevez quelque chose comme cela, vous devez utiliser les méthodes asynchrones NSURLConnection, car une connexion synchrone ne se terminera pas tant que le serveur n'aura pas fermé la connexion.

L’envoi de plus de données n’est pas conçu pour cela. Si vous souhaitez insérer plus de données dans une seule requête http après l'avoir envoyée (ce qui me semble une très mauvaise idée), vous allez devoir utiliser votre pile http pour trouver un composant open source que vous pouvez utiliser.

Notez que NSURLConnection utilisera Keep Alive et les autres fonctions appropriées, ainsi, si vous démarrez plusieurs connexions logiques sur le même hôte de votre application, elles risquent de se retrouver sur le réseau en utilisant la même connexion Keep Alive, etc.

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