2012-04-22 2 views
3

내 웹 애플리케이션 및 실시간 알림 시스템 (페이스 북 같은)는 "라이브 사용자 간"채팅과 같은 몇 가지 기능을 추가하기 위해 노력하고있어. , 우리는 B와의 채팅 창은 B의 브라우저에 열려 있으면 A가 B를JSF + AJAX 푸시 : 실시간 채팅/알림 시스템

에 메시지를 보냅니다 A와 B

두 명의 사용자를 가지고 :

은의이 시나리오를 생각해 보자 우리는 그것을 업데이트하여 B의 브라우저에 새로운 메시지를 보여줍니다. 창이 열리지 않으면 B의 브라우저에 알림 또는 뭔가를 표시해야합니다.

그래서, 그렇게 할 수있는 방법을 채팅 창 및 알림을 표시하는 PrimeFaces NotificationBar, 같은 PrimeFaces 대화를 가진? 그들이 글래스 피시 작동하지 않는

나는 PrimeFaces '푸시을 사용할 수 없습니다.

이 나는이 작업을 수행 할 수있는 좋은 방법이 될 것으로 보인다 ICEPush, 대해 찾았지만, "렌더링 그룹"에 대한 점은 시도에서 저를 중단했습니다. ICEPush가 그룹에 대해 말하면 어떻게 하나의 클라이언트 만 업데이트 할 수 있습니까?

각 클라이언트마다 새 그룹을 만들어야합니까?

다음과 같음 : B는 A가 B에게 메시지를 보내고 채팅이 열리면 업데이트되는 "BwithA"그룹과 채팅 창이 닫히면 업데이트되는 "notificationsB"그룹이 있습니까?

난 이런 식으로 그룹을 사용하기 때문에, 그가 업데이트해야하고, B가 대화 또는 업데이트하는 경우가 모르는 B에게했다는 것을 수행하는 방법을 찾을 수 없습니다 알림 바!

설명하기가 쉽지 않기 때문에이 질문이 명확하기를 바랍니다. 사전 :

+1

이 대신 jQuery를 사용하여 시도, JSF + PrimeFaces에 적합하지 않습니다. 다음은 샘플입니다. http://code.google.com/p/jquery-stream/wiki/ChatExample –

+0

링크를 제공해 주셔서 감사합니다. JSF 라이브러리를 처리 할 수 ​​없다는 말입니까? ICEFaces 또는 RichFaces도 아닌가요? 내 프로젝트에서 jQuery를 사용할 수 없기 때문에! – StepTNT

+0

내가 말하는 것은 푸시/폴링 구성 요소가 실시간 채팅을위한 채팅 응용 프로그램을 처리하기에 좋지 않다는 것입니다. 대신, 당신은 가벼운 것을 사용해야하고 jquery는 그것을 제공합니다. 어쨌든 JSF + RichFaces 푸시 및 폴링을 사용하여 시도 할 수 있습니다 (설문 조사 샘플 http://richfaces-showcase.appspot.com/richfaces/component-sample.jsf?hl=ko).하지만 새로 고침 시간은 가능한 한 빨리 빠르지 않습니다. 생각해라) –

답변

1

을에

덕분에 나는 전문 자바 프로그래머가 문제를 해결할 방법을 몰라,하지만 난 채팅을 만들고 싶었 때, 나는 표준 Primefaces에게 원격 명령 구성 요소를 사용에 매개 변수 백 전화 채팅을 생성하고 서버에서 사용자에게 새 메시지를 보냅니다.

웹 페이지에 p:remoteCommand 구성 요소가 있습니다. 구성 요소의 목적은 작업 수신기가 호출 될 때 특정 사용자로부터 최신 메시지를 가져 오는 것입니다. 새 메시지는 "콜백 매개 변수"를 통해 서버에서 자바 스크립트 함수 (oncomplete 구성 요소 이벤트)로 전달됩니다. 이 기능은 메시지가 있는지 확인한 후 채팅 상자에 메시지를 추가합니다.

자세한 내용 How to create JSF chat with AJAX

UPD 참조 : 상기 용액 구형이다. 이제 채팅을 구현하기 위해 JAX-RS 웹 서비스 또는 웹 소켓을 사용합니다. 또한 실시간 데이터 스트리밍을위한 상용 솔루션이있다 : PubNub, 미는

+0

기본적으로 제가 사용하고있는 것입니다 투표. 매 초마다 새로운 요청을하지 않으려면 푸시 버전을 원했습니다. – StepTNT