2014-02-16 3 views
0

예를 들어 사용자가 주제에 투표 할 수있는 레일스 앱을 만들고 싶습니다. 선택 사항이 데이터베이스에 저장됩니다. 그 다음 결과 페이지가 live 결과와 함께 표시됩니다. 즉, 다른 사람이 투표 할 때 그래프 나 간단한 텍스트 데이터가 새 투표로 또는 타이머로 업데이트됩니다.레일 투표 시스템 - 실제 결과보기

나는 이것이 가능하다고 확신하지만 이것을 구현하는 방법을 모르겠습니다. 내가 쉽게 떨어 뜨릴 수있는 보석이 있습니까? 아니면 라이브 스트리밍을 사용하여 무언가를 구성해야합니까? 감사합니다.

답변

1

간단한 해결책은 json에서 현재 데이터를 반환하고 자바 스크립트에서 시간 간격으로 폴링하는 작업을 구현하는 것입니다.

(function poll(){ 
    setTimeout(function(){ 
     $.ajax({ url: "your action url", success: function(data){ 
     // update data here 
     }, dataType: "json"}); 
    }, 30000); 
})(); 

복잡하지만, 더 효율적인 솔루션은 라이브 연결하고 그것을 통해 오는 데이터를 가지고 WebSockets을 사용하는 것입니다.

는 프로젝트의 GitHub의 페이지의 예를 참조 https://github.com/igrigorik/em-websocket

처럼 간단한 무언가를 사용할 수 있습니다 WebSockets으로 구현합니다. 새로운 투표가있을 때마다 연결된 모든 세션에 메시지를 보내면됩니다. 또는 초당 투표 수를 늘려야 할 경우에 대비하여 프로세스를 조정하십시오.

+0

설명 Downvoter가 신경 써야할까요? – Anri

+0

왜 downvoted 모르겠지만 - 제안 주셔서 감사합니다! 데이터베이스 연결 데이터를 전달하기 위해 실시간 연결을 위해 WebSocket을 구현하는 방법에 대한 제안 사항은 무엇입니까? 감사! – dwmcc

+0

@dwmcc 만약 당신이 온라인으로 수백 명의 사용자가 없다면, 나는 폴링과 함께 가기를 권장한다. 시작하기가 훨씬 쉽다. 조금만 기다려주세요. 웹 소켓에 대한 정보를 더 추가하겠습니다. – Anri