API-интерфейс канала приложения Google для COMET на клиентах, отличных от Javascript

Как использовать механизм приложений Google Channel API для COMET на клиентах без JavaScript.

Я буду писать клиент на питоне или любом другом языке и могу использовать HTTP или Socks с клиента.

Как мне поступить, я хочу знать, что происходит в клиенте с поддержкой JavaScript?
Использует ли JS длинный опрос или что говорить с сервером GAE.


person Tiwari    schedule 18.01.2011    source источник


Ответы (5)


Асинхронная передача сообщений осуществляется путем встраивания скрытого iframe в страницу, а затем использования классов goog.net.CrossPageChannel из библиотеки javascript Google Closure для отправки сообщений из iframe на хост-страницу.

Код Closure CrosspageChannel задокументирован здесь: http://closure-library.googlecode.com/svn/!svn/bc/4/trunk/closure/goog/docs/class_goog_net_xpc_CrossPageChannel.html

Вы можете легко реконструировать сообщения, которые будут передаваться из iframe на главную страницу. Они, вероятно, не изменятся (хотя сейчас нет абсолютной гарантии этого).

Я надеюсь открыть исходный код клиентской библиотеки для Channel API в этом квартале, но приведенное выше должно помочь вам начать работу.

person Moishe Lettvin    schedule 19.01.2011
comment
@Moishe Означает ли это, что клиент Javascript для Channel API является библиотекой Closure? - person drecute; 31.01.2012

Я реконструировал клиент Channel API javascript и создал библиотека Python. Не стесняйтесь использовать его. Я еще не тестировал его ни в одном реальном приложении, но, судя по тому, что я вижу, он работает довольно хорошо.

person schibum    schedule 12.06.2011

Если вам нужны двунаправленные обновления от клиента, отличного от JS, вы можете использовать XMPP.

person Jason Hall    schedule 18.01.2011

Google App Engine еще не опубликовал никакой документации о протоколе, лежащем в основе Channel API, поэтому разработка библиотек вне языка Javascript не ведется (здесь оболочка для Gwt).

Если вы заинтересованы, вы можете пометить следующие запросы функций:
4189 – включить Java-клиенты (не только javascript) для использования Channel API
4226 — Channel API для собственных клиентских приложений?
4206 – Создайте собственную клиентскую библиотеку C# для Channel API

person systempuntoout    schedule 18.01.2011
comment
пытался ли какой-либо орган перепроектировать активность на стороне клиента на низком уровне. - person Tiwari; 18.01.2011
comment
возможно, но у Афаика пока нет общедоступной документации - person systempuntoout; 18.01.2011

Круто,... Я нашел рентгеновский снимок "api канала" в разговоре о движке приложения или Google I/O http://www.youtube.com/watch?v=oMXe-xK0BWA

Он использует скрытый Iframe http://en.wikipedia.org/wiki/Comet_(programming)#Hidden_iframe

Теперь я попытаюсь сымитировать клиента на питоне или что-то в этом роде.

person Tiwari    schedule 18.01.2011