publish-subscribeパターンを使用できます。パブリッシュ・サブスクライブ・パターンとは何かを理解しましょう。
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のアプリ「/トピック/ユーザー-A」、ユーザBのアプリを購読/ topic/user-b "に変更し、オンライン/オフライン状態をトピック"/topic/presence "にパブリッシュします。 "/ topic/presence"を購読するために、バックエンドサーバーにプログラムを作成します。すべての更新がから来ている場合は、ここでユーザーAユーザーAに、すべての友人にこの道をアップデートを公開し、その後、ユーザBがユーザAのオフライン/オンラインアップデートを受信します
User A User B PresenceListener
Subscribe /topic/user-a /topic/presence /topic/presence
Publish /topic/user-b /topic/presence friend list
本当の挑戦を公開する方法であると言うことができます"オフライン"。 1つのケースは、インターネットがまだアクティブな状態でユーザーがアプリを閉じると、アプリはサーバーに「オフライン」ステータスを公開できますが、インターネットが機能しなくなるとどうなりますか?
「最後の遺言」(lwt)を通過します。
LWTメッセージは、クライアントがオフラインになったかどうか(keepAliveメッセージによって処理されるかどうか)を検出することに本当に関係しません。 LWTメッセージは、クライアントがオフラインになった後の処理についてです。 LWTメッセージは、クライアントがオフラインであり、もはや公開することができないため、クライアントに代わってブローカによって公開されるメッセージを定義するために活用することができます。 GitHubのhttps://github.com/Applozic/Applozic-Web-Plugin/で利用可能なオンライン、オフライン存在とサンプルソースコードについてはhttp://tuanpm.net/what-is-mqtt/
、あなたが私たちのApplozicチャットJavascriptのプラグインのコードをチェックアウトすることができ
デモページ:
ソースhttps://www.applozic.com/docs/chat-examples/web.html
あなたがcontinuasを送信する必要がありますfacebookのように遅れてサーバーにアヤックスリクエストします –
@FastSnail Facebookは最も確かにしません** not **それを行います。 – ceejayoz
私はこの疑問を再開しました。なぜなら、リンクされた複製は2011年からのものであり、今や標準的なWebソケットの解決策について言及していないからです。 – ceejayoz