2009-06-12 8 views
0

인라인 채팅을 만들려고합니다. 이 문제는 내 사이트의 두 창이 열리면 도착합니다. 왜냐하면 내 스크립트는 요청한 창에 새 메시지를 보냅니다. (당분간 간단한 폴링을 사용 중이며 나중에 혜성으로 이동합니다.)여러 브라우저 Windows 동기화

브라우저 창 모두에 메시지를 보낼 수 있도록 내가 생각하지 못한 좋은 기술이 있습니까? 현재 읽기 플래그를 사용 중이므로 메시지가 하나의 창으로 전달되는 즉시 읽은 것으로 표시됩니다. 따라서 결코 다른 창으로 배달되지 않습니다. 이 문제를 어떻게 해결합니까?

감사합니다.

답변

1

내가 생각할 수있는 한 가지는 "읽기"플래그 대신 메시지에서 일종의 타임 스탬프를 사용하는 것입니다.

새 메시지에 대한 페이지 요청 (그리고 새 메시지에 대해 서버를 풀링하기 위해 일종의 타이밍을 사용한다고 가정)이 마지막 타임 스탬프를 보내면 서버가 다시 전송합니다 그 이후의 모든 메시지.

0

각 창은 별도의 "구독자"여야하며 서버는 각 구독자에게 메시지를 보내야합니다. 따라서 하나의 "읽기"플래그 대신에 각 구독자에 대해 "읽기"플래그가 필요합니다.

불행하게도 이것은 구독자 관리자에게 각 구독자에 대한 대기열을 만드는 것과 구독자가 사라지는 시점을 알 수있는 방법입니다. 예를 들어 구독자가 1 분 동안 폴링을 중지하면.

"Gang of Four"책 ("디자인 패턴 : Gamma, Helm, Johnson 및 Vlissides의"Reasable Object-Oriented Software의 요소 "에서"Observer "패턴 ("Publish-Subscribe " ISBN 0-201-633610-2) 또는 온라인

+0

이것은 관리하기가 정말 어려울 것입니다. –

관련 문제