2010-04-21 2 views
2

iJetty를 사용하여 Android에 Cometd/Bayeux 서버를 구현하려고합니다. Jetty 구현 자체는 서블릿과 함께 정적 페이지를 제공하는 데 적합합니다. 나는 약간의 분노를 올리려고 노력 중이며 전화로 Bayeux 응용 프로그램을 만들지 만 몇 가지 문제가 있습니다. dojo cometd 스크립트가있는 페이지를 클릭 할 수는 있지만 채널을 구독 할 수 없습니다. firebug/chome 개발자 도구를 볼 때 몇 밀리 초 (~ 14 초)에 걸쳐 일련의 게시물을 볼 수 있습니다. 그러나 정상적인 컴퓨터에서 cometd 응용 프로그램을 실행하면 시간이 초과되고 연결이 다시 열리기 전에 posts /가 몇 초 (~ 14 초)가됩니다. 이 두 번째 시나리오는 HTTP의 지속성이 어떻게 작동 하는지를 이해함으로써 나에게 의미가 있습니다. 그래서 나는 무언가가 그 연결이 열려 있고 조기에 값을 반환하고 그 결과 연결을 닫는 것을 허용하지 않는다고 생각하고 있습니다. 내 소스를 게시 하겠지만 모든 게시물을 게시하지 않아도되는 내용을 잘 모르겠습니다 ... (오픈 소스이므로보고 싶다면 http://webtext-android.googlecode.com에 있습니다).Cometd/Bayeux의 시스템 요구 사항은 Android에서 사용합니다.

제 질문은, 안드로이드 시스템이이 서블릿이 작동하지 못하게하는 근본적인 제한이있을 수 있다고 생각하는 사람이 있습니까? Jetty Bayeux 구현에 의해 기본 시스템과 관련하여 가정 된 가정이 있습니까? 아니면 어떻게 든 ContinuationCometdServelt의 잘못된 구현이있을 가능성이 더 높습니까? 나는 모든 포스트/클라이언트에서 200 OK 메시지를 반환하므로 안드로이드 시스템이 단순히 연결을 종료하고 있다고 생각하지 않을 것이라는 점에 유의해야한다.

나는 이것이 벽에서 약간 떨어져 있다는 것을 알고 있으며 나는 분명히 평범함에서 조금 벗어나려고 노력하고 있지만 어떤 제안이나 조언도 크게 감사 할 것입니다.

감사합니다,

크리스 사람이를 발견하고 비슷한 문제를 (이 관계없이 호스트의 모든 cometd 구현에 적용)이 경우

+0

+1 Android 기기에서 부두를 실행하는 것이 불쾌하기 때문에 : – SyntaxT3rr0r

+0

나를 백인과 얼간이로 잡으려고합니다 ... –

답변

1

, 나는이 문제는 구글의 js 라이브러리를 사용하여 것을 발견했다. 어떤 이유로 Google에서로드 한 dojo 스크립트 (1.4)에는 cometd의 유효한 구현이 없습니다. 내 dojo 스크립트를 jetty-1.6.23 예제에 사용 된 스크립트로 전환했는데 완벽하게 작동합니다.