Механизм приложения Google Channel API для COMET на клиентах, не поддерживающих Javascript - PullRequest
6 голосов
/ 18 января 2011

Как использовать Google App Engine Channel API для COMET на клиентах, не поддерживающих JavaScript.

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

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

Ответы [ 5 ]

8 голосов
/ 19 января 2011

Асинхронная передача сообщений выполняется путем встраивания скрытого 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 на страницу хоста. Это, вероятно, не изменится (хотя сейчас нет абсолютной гарантии этого).

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

4 голосов
/ 12 июня 2011

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

3 голосов
/ 18 января 2011

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

3 голосов
/ 18 января 2011

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

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

0 голосов
/ 18 января 2011

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

Используется скрытый Ифраме. http://en.wikipedia.org/wiki/Comet_(programming)#Hidden_iframe

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

...