2012-04-27 4 views
1

웹 캘린더 공유 캘린더를 만들려고합니다. 다른 사람이 캘린더에 이벤트를 추가하면 해당 캘린더를 공유 한 모든 사람이 해당 이벤트를 볼 수 있기를 바랍니다. 누군가 이벤트를 만들면 데이터를 데이터베이스로 전송하는 ajax를 만들었습니다. 서버에서 온라인으로 이벤트를 보내고 같은 캘린더를 공유하는 다른 클라이언트에게 이벤트를 보내는 방법이 있습니까? 나는 데이터베이스에서 정보를 끊임없이 '새로 고침'하여 지금했습니다. 누군가가이를 어떻게 만들 수 있는지 알 수 있다면 알려주십시오.서버 이벤트에서 클라이언트에 정보 전송

답변

2

브라우저로 정보를 다시 "푸시"할 웹 서버가 필요합니다. 이를 처리하는 기존의 방법은 정기적으로 서버를 "폴링 (poll)"하여 지속적으로 새로운 정보가 있는지 확인하는 것입니다. 귀하의 경우, 페이지에서 일부 JS가 AJAX 호출을 10 초마다 호출하여 그들이 알고 있어야하는 새로운 달력 이벤트가 있는지 확인할 수 있습니다. 이렇게하면 웹 서버에 대한 전반적인 트래픽이 증가하므로 적절하게 폴링 시간을 선택하십시오. 그렇지 않은 경우 웹 서버가 손상 될 것입니다. "새로운 기능이 있습니까?" 대부분의 시간이 없을 때 요청합니다.

조금 더 최첨단을 원한다면 HTML5 웹 소켓을 살펴볼 수 있습니다. "html5 websockets tutorial"에 대한 Google 검색은 많은 리소스를 제공합니다. 사용하기가 조금 더 까다 롭고 지원하는 웹 서버를 실행하고 있어야합니다. 브라우저를 지원하는 브라우저에서 웹 서버의 데이터를 원하는대로 다시 푸시 할 수있는 장기간의 연결을 유지하면 JS가 업데이트 된 정보로 "onmessage"이벤트를 캡처합니다. Google에서 당신을 가리키는 것은 더 완벽한 답변에서 벗어나려고하지는 않지만, 이미 많은 훌륭한 자습서가 있으므로 HTML 웹 소켓을 찾으십시오. 그러면 당신이하고 싶은 것을 해낼 수 있어야합니다.

+0

Rob 대단히 감사합니다. 솔직히 말해서 어디서부터 시작해야할지 몰랐다. 그래서 "html5 websockets tutorial"이라는 단어를 가리키면 바로 내가 필요한 것입니다. 응원 :) –

관련 문제