알림과 메시지를 웹 페이지에서 실시간으로 표시하는 가장 좋은 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/2073425

문제

Meebo 및 Facebook 및 MySpace와 같은 인스턴트 메시징을 수행하는 정말 좋은 방법에 관심이 있습니다. 내 사이트의 예, 지금, 사용자가 새 메일 메시지, 사진 댓글, 프로필 댓글, 친구 요청, 다른 것들을 받으면 jQuery 및 ajax를 사용하는 페이지에서 알림 메시지와 링크를 받게됩니다.

jQuery 코드가 기본적으로 PHP 스크립트를 실행 하여이 스크립트를 사용하여 페이지를 열 수있는 모든 사용자에 대해 30 초마다 MySQL 테이블을 쿼리하기 위해 기본적으로 PHP 스크립트를 실행해야하므로 대규모 로이 작업을 수행하는 가장 좋은 방법이 아니라고 생각합니다. 달리기. 효율적인 방법을 찾을 수 있다면 Facebook이 화면 하단에 채팅 바에있는 것처럼 어떤 종류의 인스턴트 메시징을 추가하고 싶습니다.

Comet과 HTML5 Websockets라는 용어를 들었지만 이것이 제가 그러한 기능을 찾아야 할 솔루션인지 확실하지 않습니까? 대역폭을 최소한으로 유지하고 몇 초마다 쿼리를 실행하고 싶습니다. 높은 트래픽 사이트에서는 그다지 효율적이지 않습니다.

좋은 솔루션을 알고 있다면, 그들이 어떻게 작동하는지 설명 해주세요.

도움이 되었습니까?

해결책

나는 페이스 북이 사용한다고 생각한다 XMPP 그들의 대화를 위해서, 그것을 살펴보십시오.

XMPP입니다

실시간 커뮤니케이션을위한 개방형 기술은 인스턴트 메시징, 존재, 다당 채팅, 음성 및 화상 통화, 협업, 가벼운 미들웨어, 컨텐츠 신디케이트 및 XML 데이터의 일반화 라우팅을 포함한 광범위한 응용 프로그램을 제공합니다.

당신은 a를 설치합니다 별도의 서버 메시징을 처리하고 앱에서 사용할 수있는 클라이언트를 구현합니다. 도서관.

다른 팁

당신은 "혜성"서버를 찾고 있습니다. PHP를 말하고 있으므로 최상의 솔루션은 SaaS 솔루션입니다. WebSync 주문형, PHP는 많은 수의 동시 연결이 열려있을 때 스케일링에 문제가 있기 때문에. 또한보십시오 이 질문.

Ajax가 쿼리 할 수있는 공유 메시지 대기열을 가질 수 있습니까? 아마도 메시지의 대부분을 memcached에 저장하는 PHP 스크립트 일 수도 있습니다 (실패의 경우 DB에 쓸 수 있음).

확실하지 않지만 다른 솔루션을 듣고 궁금합니다 ...

기본적인 문제는 혜성 서버를 구현해야한다는 것입니다 (예 : 서버 푸시 구현). 표준 웹 호스트와 Apache는 쉽게이를 쉽게 수행 할 수 없습니다. 다른 호스팅 솔루션 (웹 동기화 제외)은 다음과 같습니다. 금붕어 서버. 현재 무료.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top