2011-01-25 5 views
2

사용자 로그가 있고 어떤 종류의 이벤트 (이 경우에는 알람)를 등록하는 웹 애플리케이션을 구현해야합니다. 알람이 발생하면 서버는 모든 클라이언트에 알람을 푸시해야합니다.GWT 서버 밀어 넣기를 사용하여 밀어 넣기?

순간

나는

부두 Continuations를에게 좋은 아이디어를 사용하여 서버 푸시를 구현하는 서버 측에서 클라이언트 측

  • 부두에

    • GWT를 사용하고 있습니다? 내 요구 사항은 다음과 같습니다

      • 클라이언트의 수 (< 20) 아주 작은하지만
      • 경보가 클라이언트가 다운 될 것 즉 경우에, 어떤을 놓치지해야한다 (길을 잃지해야하는 미래에 증가 할 수 알람)
      • 클라이언트가 다운되면 다른 클라이언트에게이를 알릴 필요가 있습니다 (또는 적어도 관리자는 Mail과 같은 알림을받습니다).
  • 답변

    2

    혜성을 사용하는 주된 이유는 (예 : 방파사의 연속) 폴링 빈도를 줄일 수 있다는 것입니다. 즉, 클라이언트 측에서 빈번한 폴링을 사용하여 Comet없이 동일한 것을 달성 할 수 있습니다. 어떤 대안을 선택할지는 응용 프로그램의 특성에 따라 다르며, 각 대안은 다른 것보다 다소 효과적 일 수 있습니다!

    클라이언트가 다운 될 때 알림이 필요하므로 빈번한 폴링을 사용하는 것이 좋습니다. 혜성 (긴 폴링)은이 작업에 적합하지 않습니다. 클라이언트가 새로운 요청을 보낼 때까지는 시간이 오래 걸릴 수 있습니다. 그리고 새로운 요청을 수신하는 것은 서버가 클라이언트가 여전히 살아 있다는 것을 알 수있는 유일한 방법입니다. (Comet이든 아니든 상관없이 웹 서버는 결코 클라이언트에 요청을 보낼 수 없습니다).

    1

    귀하의 요구 사항에 따르면 경보를 분실해서는 안되며, 긴 폴링 또는 빈번한 폴링보다 더 복잡한 해결책을 의미합니다.

    사용자가 경고 메시지가 도착한 직후에 응용 프로그램을 닫을 수 있기 때문에 클라이언트는 서버에 확인 메시지를 보내야합니다. 또한 사용자는 서버를 확인하기 위해 경고 메시지를 클릭해야합니다. 클라이언트가 확인 메시지를 보내지 않으면 시간 제한을 두어 클라이언트가 확인 메시지를 보내지 않는다고 가정 할 수 있습니다.

    답장 algortihm을 사용한 긴 폴링은 내 문제를 해결할 수있는 방법입니다 ..

    관련 문제