2011-01-18 15 views
6

Cómo usar el motor de aplicaciones de Google Channel API para COMET en clientes que no son de JavaScript.Google app engine Canal API para COMET en clientes que no son JavaScript

Escribiré un cliente en python o en cualquier otro idioma, y ​​puedo hacer HTTP o Socks desde el cliente.

¿Cómo procedo, quiero saber qué está sucediendo en el cliente de JavaScript con respaldo?
Está JS usando Long Polling o qué hablar con el servidor de GAE.

Respuesta

8

El envío de mensajes asíncronos se realiza mediante la incrustación de un iframe oculto en la página, luego usando las clases goog.net.CrossPageChannel de la biblioteca de JavaScript de Google Closure para enviar mensajes desde el iframe a la página de host.

código de Cierre El CrosspageChannel se documenta aquí: http://closure-library.googlecode.com/svn/!svn/bc/4/trunk/closure/goog/docs/class_goog_net_xpc_CrossPageChannel.html

Puede fácilmente la ingeniería inversa de los mensajes que va a transmitirse desde el iframe a la página de acogida. Estos probablemente no cambien (aunque no hay una garantía absoluta de eso en este momento).

Espero abrir esta biblioteca de cliente para la API del canal este trimestre, pero lo anterior debe comenzar.

+0

Muchas gracias Moishe, estará esperando eso ... – Tiwari

+0

@Moishe ¿Eso significa que el cliente de Javascript para Channel API es la biblioteca de Cierre? – drecute

3

Google App Engine aún no ha publicado ninguna documentación sobre el protocolo detrás de Channel API por lo que no hay desarrollo de bibliotecas fuera del lenguaje Javascript (aquí un contenedor para Gwt).

Si está interesado usted podría protagonizar estas peticiones de características:
4189 - Enable Java clients (not just javascript) to use the Channel API
4226 - Channel API for native client apps?
4206 - Create a native C# client library for the Channel API

+0

ha intentado cualquier cuerpo invertir la actividad del lado del cliente en el nivel bajo. – Tiwari

+0

podría ser posible pero Afaik no hay documentación pública aún – systempuntoout

3

Si desea que las actualizaciones bidireccionales desde un cliente que no JS, puede utilizar XMPP.

4

He revertido la ingeniería del cliente de API de canal de JavaScript y he creado un python library. Siéntase libre de usarlo. Todavía no lo he probado en ninguna aplicación del mundo real, pero por lo que puedo ver parece funcionar bastante bien.

+0

Muchas gracias schibum – Tiwari