2012-05-23 3 views
0

Faye 또는 다른 푸시 시스템을 사용하고 Ajax를 사용하지 않을 경우 어떤 이점이 있는지 잘 모르겠습니다.Faye를 채팅 용으로 사용하고 Ajax (레일)을 사용하지 않는 이유

특히 채팅 및 알림 기능을 구현해야합니다.

채팅 메시지 모델을 만들고 내 게시물 (채팅 메시지가 많음)의 경우 게시 페이지에서 Ajax를 사용하여 메시지를 새로 고침하고 채팅 기능을 사용할 수 있습니다.

페이 또는 아약스에 누락 된 것이 있습니까? 더 효율적입니까?

+0

페이 (Faye)는 웹 소켓 (양방향, 항상 연결되어 있음)을 사용할 수 있습니다. Ajax는 요청/응답 (일방 통행, 일회성 연결)입니다. – Kris

답변

5

Faye는 서버가 클라이언트에 데이터를 보낼 수있는 연결을 설정하고 있습니다. Ajax를 사용하면 클라이언트가 데이터를 요청해야하며 새 데이터를 사용할 수 있는지 (예 : 채팅 클라이언트의 경우) 알 수없는 경우 주기적으로 새 콘텐츠를 폴링해야합니다.

더 효율적입니까? 채팅 시스템에 충분한 트래픽이 발생하면 매시간마다 새로운 데이터가 수집됩니다. 반면에 유휴 대화방이있는 경우 모든 폴링은 서버가 데이터를 밀어 넣음으로써 피할 수있는 리소스를 씹을 것입니다.

이렇게하면 서버와의 연결을 유지하고있는 것입니다. 많은 수의 유휴 클라이언트가있는 경우이 문제가 발생할 수 있습니다. 이 때문에 어떤 접근 방식이 더 좋은지, 또는 하이브리드 방식 (상황에 따라 Faye 연결을 열고 적극적으로 사용하고 Ajax 폴링을 빈번하게 사용하지 않는 경우)과 같은 상황에 민감합니다.

+0

감사합니다. 따라서 Ajax는 고객이 여론 조사를 실시하는 사소한 업데이트 나 물건에 가장 많이 사용되며, 많은 정보를 필요로하는 주요 업데이트가있을 때 가장 적합합니다. –

+0

업데이트 시간이 클라이언트의 동작 (UI와의 상호 작용)에 의해 주도되고 Faye가 서버가 UI가 실제로 반영해야하는 예측할 수없는 일을 수행 할 때 Ajax가 가장 좋은 점은 간단한 형태라고 생각합니다. *시의 적절성 *이 중요하지 않은 한, Ajax를 통해 주요 업데이트에 액세스하는 것을 볼 수 있습니다 (업데이트 존재를 폴링 한 다음 업데이트를 가져 오는 것). 나는 매초마다 Ajax 스크립트를 조사하는 것으로 보았습니다. 이것은 Faye를 대신 사용하는 것을 고려할 것입니다. 왜냐하면 제가 어쨌든 열린 연결을 효과적으로 모방하기 때문입니다. – Godeke

관련 문제