2010-12-05 3 views
7

공식 문서에는 지원이 언급되어 있지 않지만 채널 API를 사용하기 위해 자바 스크립트 대신 클라이언트 프로그램을 연결할 수 있는지 궁금합니다. 현재 Windows API에서 기본 폴링 기술을 사용하고 있습니다. 채널 API를 사용하면 응답 속도가 향상되고로드가 상당히 줄어 듭니다.C#에서 Google Channel API 사용하기

못생긴 해킹으로 백그라운드에서 숨겨진 웹 브라우저 개체를 렌더링하고 자바 스크립트를 실행 한 다음 그 피드를 먹을 수 있습니다. 더 나은 해결책이 있습니까?

답변

10

채널 API가 Google 서버 사이에서만 XMPP를 전달하기 때문에 XMPP를 사용할 수 없습니다. XMPP 트래픽은 브라우저에 공개되지 않습니다 (Firefox에서 Firebug 또는 Chrome 개발자 창을 사용하여 내용을 확인할 수 있음) "bind"요청 중, JSON이 보내지는 것을 볼 수 있습니다).

당신이 말했듯이 현재 가능한 유일한 해결책은 앱의 채널에 연결하기에 충분한 자바 스크립트를 실행하는 브라우저 컨트롤을 랩핑하고 메시지를받을 때 C# 앱에 신호로 알리는 것입니다. 어리석은, 그러나 실행할 수있는.

iframe의 기능을 리버스 엔지니어링 한 다음 시뮬레이션하여 직접 JSON 메시지를 소비해도 구현 세부 사항이 변경되면 앱이 무수히 많은 방식으로 손상 될 수 있습니다.

이 모든 것들은 네이티브 C# 라이브러리가 얼마나 많은지 궁금하고, 어떤 종류의 앱을 쓰고 싶은지 궁금합니다. WP7 애플 리케이션? Windows 클라이언트 응용 프로그램? 서버 응용 프로그램? 당신이 관심이 있다면

http://code.google.com/p/googleappengine/issues/detail?id=4206

를 찬성 투표하십시오, 당신은 이름을 수있는 더 많은 정보/매력적인 사용 사례, 더 나은 : 여기 앱 엔진에 대한 기능 요청을 만들었습니다.

감사합니다.

+0

만약 내가 할 수 있다면 당신을 upvote 줄,하지만 내 평범한 평판 포인트 5하자. 나는 app'in 문제점 추적자에 그러나 금 star'd 문제점을 가지고있다. – savagepanda

+0

@Moshie, 채널 API와 달리 XMPP를 직접 사용하도록 제안했습니다. 사람들은 Channel API와 상호 작용할 수있는 ** 일반 ** API를 알고 싶어합니다. 그렇게하면 다른 언어의 네이티브 라이브러리도 가질 수 있습니다. 얼마 전에이 그룹에 대한 토론이있었습니다. –

+0

아주 좋은 점 : 채널 API를 완전히 건너 뛸 수 있으며 XMPP를 직접 사용할 수 있습니다.XMPP 서비스에 사용자를 서명하고 명단에 봇을 추가하거나 (명단에 봇을 추가하지 않고 메시지를 수신하는 끝점을 갖는) 방법이 필요합니다. 평범하지 않은 양의 일이지만 확실히 가능하고 예쁘다! –

3

가능하면 XMPP을 직접 사용하는 것이 좋습니다. C#의 경우 several이 있습니다.

FireFox + FireBug의 사본을 얻을 수도 있습니다. 그런 다음 누군가와 놀면서 FireBug의 '그물'탭을 살펴보십시오. demo app (또는 나만의 것을 만드십시오). 요청을 처리 한 다음 C# 코드에서 에뮬레이트 할 수 있어야합니다.

설명 : 은 내가 채널 API에 있지만 클라이언트 응용 프로그램과 앱 엔진 응용 프로그램 사이의 통신에 대한 이야기 ​​XMPP를 사용하도록 제안하고 있지 않다. 나는 FireBug를 사용하여 트래픽 JSON이라는 것이 매우 분명하기 때문에 제안했다.

+0

모이셔가 아래에서 말한 것을 확인하고, 그것이 xmpp가 아니라 Json으로 되돌아 간 것처럼 보입니다. – savagepanda

+0

채널 API 대신 XMPP를 사용하도록 제안했습니다. XMPP를 직접 사용하는 것이 옵션 일 경우 추가 계층의 실패 지점 (채널 API)을 제거합니다. –