2011-01-18 1 views
6

비 자바 스크립트 클라이언트에서 COMET 용 Google 앱 엔진 Channel API을 사용하는 방법.Google 앱 엔진 비 자바 스크립트 클라이언트의 COMET 용 채널 API

나는 파이썬이나 다른 언어로 클라이언트를 작성해야하며 클라이언트로부터 HTTP 또는 양말을 사용할 수있다.

JavaScript 클라이언트를 통해 어떤 일이 일어나는지 알고 싶습니다.
JS가 긴 폴링을 사용하고 있거나 GAE 서버와 대화 할 대상이 무엇입니까?

답변

8

비동기 메시지 전달은 페이지에 숨겨진 iframe을 삽입 한 다음 Google 폐쇄 자바 스크립트 라이브러리의 goog.net.CrossPageChannel 클래스를 사용하여 iframe에서 호스트 페이지로 메시지를 보내서 수행됩니다.

클로저 CrosspageChannel 코드는 여기에 설명되어 있습니다 : http://closure-library.googlecode.com/svn/!svn/bc/4/trunk/closure/goog/docs/class_goog_net_xpc_CrossPageChannel.html

쉽게 호스트 페이지에 iframe이로부터 전달 될 것입니다 메시지를 리버스 엔지니어링 할 수 있습니다. 이것들은 아마도 바뀌지 않을 것입니다.

이번 분기 채널 API에 대한 클라이언트 라이브러리를 공개 소스로 사용하고 싶지만, 위의 내용을 시작해야합니다.

+0

고마워 Moishe, 그걸 기다리고있을 것입니다 .... – Tiwari

+0

@Moishe 채널 API의 자바 클라이언트가 클로저 라이브러리입니까? – drecute

3

Google App Engine은 채널 API의 프로토콜에 대한 문서를 아직 게시하지 않았으므로 자바 스크립트 언어 외부의 라이브러리는 개발되지 않았습니다 (여기서 Gwt의 래퍼). 당신이 이러한 기능 요청을 별 수 관심이 있다면

:
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

에는 낮은 레벨에서 클라이언트 측 작업을 리버스 엔지니어링하려고 시도한 본문이 있습니다. – Tiwari

+0

은 가능하지만 Afaik는 공개 문서가 아직 없습니다 – systempuntoout

3

가 아닌 JS 클라이언트에서 양방향 업데이트를 원한다면, 당신은 XMPP를 사용할 수 있습니다.

4

자바 스크립트 채널 API 클라이언트를 리버스 엔지니어링하여 python library을 생성했습니다. 언제든지 사용해보십시오. 아직 실제 응용 프로그램에서 테스트하지는 못했지만 실제로 볼 수있는 것으로부터 꽤 잘 작동하는 것 같습니다.

+0

감사합니다. – Tiwari