Frage

Ich bin derzeit ein einfaches Cross-Plattform-App mit Node.js auf dem Server und Web / iPhone / Blackberry Kunden zu schreiben. Bandbreite und Latenzanforderungen sind ähnlich wie etwas, das man in einem IRC „Party-Spiel“ oder in einem Chat-System sehen würde. Ich habe den Web-Client mit http langen Polling (Sprechen JSON beiden Richtungen) entwickelt.

Für iPhone / Blackberry ich in HTTP-Bibliotheken zu reden meiner aktuellen Implementierung der eingebauten verwenden könnte oder könnte ich einen Socket-Listener auf dem Server und sprechen Sie mit ihm über Sockets schreiben. Gibt es irgendeinen Vorteil zu so tun? Warum nicht-Browser HTTP-Clients scheinen entmutigt zu werden?

War es hilfreich?

Lösung

Kann spricht nicht auf dem iPhone, wie ich über die technischen Details des Netzwerk-Stack nicht genug wissen, sondern auch für Blackberry-HTTP-Anfragen aus dem Browser unterschiedlich von App-initiierten Anfragen im Allgemeinen behandelt. Blackberry als Lösung besteht nicht nur aus einer geräteseitigen TCP / HTTP-Stack, aber der Blackberry-Dienst, die (je nach, wenn Sie Unternehmen oder nicht) ein Blackberry Enterprise Server mit Mobile Data Services enthält (BES / MDS) gehostet Ihr Unternehmensnetzwerk oder ein Research In Motion gehosteten Blackberry Internet Services (BIS) Server, der Proxy alle Verbindungen vom mobilen Browser. Diese Server können eine Menge Dinge tun, einschließlich der Handhabung einige Aspekte von Cookies, Authentifizierung und Inhalt Umcodierung zu machen Inhalt mehr Verbrauchs durch das Mobilgerät (Bilder und dergleichen). Für ein BES / MDS sie sogar als sicheren Endpunkt in einer HTTPS-Verbindung wirken kann.

Wie auch immer, dies bedeutet auch, dass ein großer Teil der Funktionalität, die Sie von einem normalen TCP erwarten würden / HTTP-Verbindung geschieht tatsächlich vom Gerät, und so kann von einem Träger oder Unternehmen oder RIM kontrolliert werden. Barebone-Steckdosen sind unterschiedlich, weil die verschiedenen Server in der Mitte nicht so viele Annahmen über ein TCP-Socket machen können, wie sie können über eine HTTP-Verbindung, so können sie nicht mess around mit Ihren HTTP-Anfragen. Viele Blackberry-Apps am Ende tatsächlich auf ihre eigenen HTTP-Client-Schreiben auf dem Socket Layer eben deswegen, also wenn Sie so etwas wie eine HTTP lange Umfrage zu tun haben (Comet?) Es auf jeden Fall von der Socket-Verbindung auf schreiben, nicht die integrierte HTTP-Verbindung.

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