Frage

Ich versuche, einen Cometd/Bayeux -Server auf Android mit iJetty zu implementieren. Die Implementierung des Stegs selbst funktioniert zusammen mit Servlets gut, um statische Seiten zu servieren. Ich versuche, den Einsatz ein wenig zu verbessern und eine Bayeux -Anwendung am Telefon zu erstellen, aber ich habe einige Probleme. Ich kann die Seite mit den Dojo -Cometd -Skripten drücken, aber ich kann den Kanal nicht abonnieren. Wenn ich Firebug/Chome -Entwickler -Tools sehe, sehe ich eine Reihe von Beiträgen/bekomme so ein paar Millisekunden (~ 14). Wenn ich jedoch eine Cometd -Anwendung auf einem normalen Computer ausführe, erhalten die Posts/erhalten die letzten Sekunden (~ 14 Sekunden), bevor die Verbindung ausgeführt und wieder geöffnet wird. Dieses zweite Szenario macht für mich Sinn, wenn ich verstand, wie Fortsetzung in HTTP funktioniert. Ich denke also, dass etwas nicht erlaubt, dass diese Verbindungen offen und vorzeitig einen Wert zurückgeben und folglich die Verbindung schließen. Ich würde meine Quelle posten, aber ich bin mir nicht sicher, was ich nicht posten soll, um alles zu posten ... (es ist Open Source, wenn Sie also einen Blick darauf werfen möchten, ist es bei http://webtext-android.googlecode.com).

Meine Frage ist also, dass jemand die zugrunde liegende Einschränkung des Android -Systems geben könnte, das diese Servlets daran hindert, zu arbeiten? Gibt es Annahmen, die von der Implementierung von Jetty Bayeux in Bezug auf das zugrunde liegende System getroffen werden? Oder ist es wahrscheinlicher, dass ich irgendwie eine schlechte Umsetzung des ContinuationCometdSservelt habe? Ich sollte beachten, dass alle Beiträge/Erhöhungen des Clients 200 OK -Nachrichten zurückgeben, sodass ich nicht der Ansicht bin, dass das Android -System die Verbindung einfach beendet.

Ich weiß, dass dies ein bisschen von der Wand ist und ich versuche definitiv, etwas Außergewöhnliches zu tun, aber alle Vorschläge oder Tipps würden sehr geschätzt.

Vielen Dank,

Chris

War es hilfreich?

Lösung

Falls jemand dies entdeckt und ähnliche Probleme hat (dies gilt für alle Cometd -Implementierungen unabhängig vom Host), stellte ich fest, dass das Problem mit der Verwendung der Google JS -Bibliothek bestand. Aus irgendeinem Grund hatten die DOJO -Skripte, die ich von Google (1.4) geladen habe, keine gültige Implementierung von Cometd. Ich habe mein Dojo-Skript auf das, das vom Beispiel für Jetty-1.6.23 verwendet wurde, umgestellt und funktioniert perfekt.

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