2010-01-08 4 views
0

웹 서버에서 업데이트를 확인하기위한 좋은 전략을 알고 있습니까?웹 페이지를 통해 업데이트를 확인하기위한 좋은 전략은 무엇입니까?

나는 페이스 북의 시작 페이지와 stackoverflow의 질문 라인을 오랫동안 생각하고있다. 그러나 전체 페이지를 다시로드하지 않고 새 데이터를로드해야합니다.

현재 새 데이터가 입력되면 웹 서버를 폴링하여 페이지 수명 기간 동안 자바 스크립트 "타이머"를 작동시키는 것이 좋습니다. 우리의 목표 범위는 ~ 2000 브라우저가 동시에이 작업을 수행하므로 기존 데이터와 새 데이터를 본격적으로 동일하게 검사하지 않으려 고합니다.

ASP.Net을 사용하고 있으므로 세션 변수에 "마지막 데이터 폴링 시간"변수를 저장하고 새 데이터를 입력하면이 시간을 업데이트하는 것이 좋습니다. 클라이언트가 수신해야합니다. 이 소리가 너에게 가능한가?

나는 그래서 당신은 코멘트에있을 수있는 질문을, 나는이 질문 : 사전에

감사를 업데이트하겠습니다 완전히 여기에 자신을 설명 확실하지 않다

답변

2

.Net에 익숙하지 않지만 자바 서블릿으로 어떻게 해결할 수 있는지 알려주세요. .NET의 솔루션은 비슷해야합니다.

특정 URL 및 컨텐츠 상태 (및 현재 사용자)에 따라 응답하는 lastModified 메소드를 사용하여 REST ressource로 서블릿을 작성합니다. 클라이언트는 자원의 현재 상태를 HTTP HEAD로 폴링합니다. 마지막 요청 이후에 수정 된 경우에만 클라이언트는 GET 요청을 보냅니다. 서버가 리소스가 수정되지 않은 상태로 유지되는 기간을 알고 있으면 만료 헤더를 보낼 수 있습니다. 그러면 클라이언트는 만기 시간 이후에 폴링을 시작합니다.

+0

아주 멋진 아이디어입니다. "악용"HTTP :) 이것에 대해 살펴 보겠습니다. – cwap

+0

멋진 아이디어 나는 그것을 좋아한다. – RHicke

1

당신은 '수 푸시 인터페이스를 사용하여 웹 페이지를 업데이트하십시오. 그래서 당신은 당겨야 할 것입니다. Ajax로 서버를 누르고 업데이트를 확인하십시오.


새 정보를 찾을 때마다 전체 정보 평등 확인을 수행하지 않도록이 정보를 어딘가에 캐시 할 수 있습니다. 서버의 어딘가에 마지막 업데이트 시간을 저장해야하며 클라이언트보다 새로운 경우로드 할 새 데이터가 있음을 알게됩니다.

1

서버를 폴링하고 AJAX를 사용하여 일부 콘텐츠를 업데이트하는 것이 가장 일반적인 해결책 일 수 있지만 실제로 푸시를 사용하여 웹 페이지를 업데이트 할 수 있습니다. 확실히 더 이색적이지만 Silverlight의 이중 통신을 사용하여 페이지로 내용을 보낼 수 있습니다.

Tomasz Janczuk은 Silverlight 기능의 클라이언트 끝을 처리 할 stand-alone javascript library을 개발했습니다.

그는 웹 농장 규모 확장과 관련한 기사도 있습니다. http : // tomasz.janczuk.org/2009/09/scale-out-of-silverlight-http-polling.html (공간을 삭제하십시오. - 초보자 상태로 인해 답장에 두 번 이상 연결되지 않습니다.) 그는 자신의 콘텐츠에 대한 멋진 푸시 모델을 설정하는 데 도움이 될 훌륭한 작업을 수행했습니다.

관련 문제