Frage

Ich bin zu wollen, um ein Programm zu erstellen, die mit einem Cometd Server spricht zum Schieben von Daten in die App zu ermöglichen.

Ich habe dies auf der Web-Seite mit AJAX getan, aber ich bin ein wenig unsicher über den besten Weg, dies mit Cocoa zu tun.

Ich kann einen Standard-Anschluss mache mit NSURLRequest und NSURLConnection, aber wie halte ich diese Verbindung am Leben, so kann ich Daten senden, wenn nötig und die schob Informationen erhalten, wenn nötig.

Bin ich sogar darüber gehen den richtigen Weg?

Vielen Dank im Voraus

War es hilfreich?

Lösung

Im Hinblick auf die Push-Benachrichtigungen, wenn der HTTP-Server die Nähe nicht schließt die Verbindung der die NSURLConnection offen bleiben wird, und Sie werden immer Daten halten. Beachten Sie, dass, wenn man so etwas entwerfen Sie die asynchronen NSURLConnection Methoden verwenden müssen, als eine synchrone Verbindung wird nicht enden, bis der Server die Verbindung geschlossen wird.

Wie für weitere Daten zu senden, ist es wirklich nicht darauf ausgelegt, das zu tun. Wenn Sie möchten, um mehr Daten in einer einzelnen HTTP-Anforderung drücken, nachdem Sie es geschickt haben (was wie eine ziemlich schlechte Idee, mir scheint) Sie Ihren HTTP-Stack rollen gehen zu müssen, einige Open-Source-Komponente finden Sie verwenden können.

Beachten Sie, dass NSURLConnection lebendig und andere Dinge verwenden halten, wie es für angemessen hält, so dass, wenn Sie mehrere logische Verbindungen zu dem gleichen Host in Ihrer Anwendung starten können sie auf dem Draht die gleiche keep alive-Verbindung am Ende, etc.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top