게시 - 구독 패턴을 사용할 수 있습니다. 게시 - 구독 패턴이 무엇인지 이해해 봅시다.
publish–subscribe is a messaging pattern where senders of messages, called publishers, do not program the messages to be sent directly to specific receivers, called subscribers, but instead characterize published messages into classes without knowledge of which subscribers, if any, there may be. Similarly, subscribers express interest in one or more classes and only receive messages that are of interest, without knowledge of which publishers, if any, there are.
출처 : 다음
Wikipedia이 RabbitMQ MQTT 어댑터를 사용하는 예입니다
"/ 주제/사용자는"주제에 사용자 A의 응용 프로그램을 구독 주제에 대한 사용자 B의 응용 프로그램 "/topic/user-b "온라인/오프라인 상태를 주제"/ topic/presence "에 게시합니다. "/ topic/presence"에 가입하려면 백엔드 서버에 프로그램을 작성하십시오. 사용자 A가 다음 사용자 A. 모든 친구들에게이 방법을 업데이트를 게시 말할 수에서 모든 업데이트를 제공하는 경우, 사용자 B는 방법에 게시를 위해 여기를
User A User B PresenceListener
Subscribe /topic/user-a /topic/presence /topic/presence
Publish /topic/user-b /topic/presence friend list
진짜 문제는 사용자 A의 온라인/오프라인 업데이 트를 받게됩니다 "오프라인". 한 가지 경우는 인터넷이 여전히 활성화 된 상태에서 사용자가 앱을 닫으면 앱이 서버에 '오프라인'상태를 게시 할 수 있지만 인터넷이 작동을 멈추면 어떻게됩니까?
"마지막 유언장"(lwt)을지나갑니다.
LWT 메시지는 클라이언트가 오프라인 상태인지 아닌지 여부를 감지하는 데 실제로 관심이 없습니다 (해당 작업은 keepAlive 메시지로 처리됩니다). LWT 메시지는 클라이언트가 오프라인 상태가 된 후에 어떤 일이 발생하는지에 대한 메시지입니다. 클라이언트가 오프라인이어서 더 이상 게시 할 수 없으므로 LWT 메시지를 활용하여 클라이언트를 대신하여 브로커에서 게시 할 메시지를 정의 할 수 있습니다.
출처 : http://tuanpm.net/what-is-mqtt/ 온라인 오프라인의 존재와 샘플 소스 코드에 대한
, 당신이 Github에서 사용할 수 우리의 Applozic 채팅 자바 스크립트 플러그인 코드를 체크 아웃 할 수 https://github.com/Applozic/Applozic-Web-Plugin/
데모 페이지 : https://www.applozic.com/docs/chat-examples/web.html
당신이 continuas을 보낼 수 있습니다 페이스 북처럼 지연된 서버에 대한 Ajax 요청은 –
@FastSnail Facebook이 가장 확실하게 ** 아닙니다 ** 그렇게합니다. – ceejayoz
링크 된 복제물이 2011 년에 나온 것이므로 이제는 웹 소켓의 현재 표준 솔루션에 대한 언급이 없으므로이 질문을 다시 열었습니다. – ceejayoz