2013-03-01 3 views
1

나는 긴 폴링 이벤트 이벤트를 구독하려고 시도 해왔다. 먼저/events에 대한 옵션 호출을 수행하고 실시간 서버의 URL을 얻었습니다. 그러나 URL이 다음과 같이 보이는지 알 수는 없습니다. http://2.realtime.services.box.net/subscribe?channel=XXX&stream_type=all긴 폴링 이벤트

위의 URL은 핸드 셰이크 단계를 건너 뛰는 주제에 직접 가입하려고 시도하는 것으로 보입니다. 실제로, 내가 핸드 쉐이크하려고 시도하면 http://2.realtime.services.box.net/400 상태 코드가 반환됩니다.

내가 직접 가입하려고 생각하지만, 나는 또한 채널이 쿼리 PARAM 대신 내가 기대하는 것처럼 경로 PARAM에 있습니다 것으로 나타났습니다.

설명해 주시겠습니까? 이것이 혜성의 긴 폴링 표준을 실제로 따르거나 아니면 다른 것인가? 나는 이것을 다르게하려고 하는가? 대신 WebSocket을 사용해야합니까?

감사합니다.

+0

그냥이 WebSocket을 사용하여 시도에서 400 상태 코드를있어 GET/폴더/ID API 호출에 얻을 것이라고 다른 폴더와 같은 구조를해야합니다 악수. –

답변

0

당신은 HTTP이 옵션은 전화에 응답에있는 URL에 전화를 GET 할 수 있어야합니다. 이벤트가 가능 해지면 새로운 변화로 대응할 것입니다.

마술 "구독"또는 "웹 소켓"요청이 없어야합니다. 표준 HTTP GET을 사용하기 만하면됩니다.

당신이 HTTP 연결을 엽니 다 호출하고 아무것도 귀하의 계정에서 발생하는 경우, 당신은 { "메시지": "new_change"} 볼 때마다 파이프를 흘러 JSON 페이로드를. 아무 일도 일어나지 않으면 연결이 시간 종료되고 닫히거나 400 오류가 발생합니다.

{ "message": "new_change"}가 표시되면 가장 최근에받은 이벤트의 stream_position을 사용하여/events API를 실행할 때라고 알리는 신호입니다.

는 그들의 "EVENT_TYPE"다르게 구문 분석 할 수있는 이벤트의 많은 종류가 있습니다. 대부분의 이벤트 유형은 이벤트가 적용되는 항목의 기존 사본에 델타 또는 diff로 적용 할 수있는 정보가 충분합니다. 모든 이벤트에는 시간 스트림 연속체에있는 위치를 나타내는 stream_position이 있습니다.

개체를 보려면 JSON의 "source"섹션을 찾으십시오. 이러한 객체 구조는 API의 다른 모든 API 호출에서 사용되는 것과 동일한 구조를 따릅니다. 당신은 "유형"을 참조하십시오 그래서 "폴더를"당신이