MessageBus - Dart-Flutter を使用した Messagebus の設定方法

皆さん、こんにちは。

Discourse を使用してデータの取得と POST を行うモバイルアプリケーションを作成しています。現在、トピックに新しい投稿があるかどうかを確認するために 30 秒ごとにリクエストを行っています。これは、誤って自分たちで d-dos してしまう可能性があり、フォーラムに悪影響を与える可能性があります。

Flutter で WebSockets を使用する良い解決策を探していましたが、まだ見つかっていません。Discourse については、ドキュメントが分かりにくい MessageBus に行き着きました。

しかし、このポーリングリクエストで見られるように、フォーラムには MessageBus がセットアップされています。
image

そこで、この問題を解決する方法についてアイデアがある方や、MessageBus または Flutter WebSockets の使用経験がある方がいらっしゃいましたら、ご教示ください。

「いいね!」 1

MessageBus も選択肢の1つです。Ruby と JS のクライアントライブラリはここで見つけることができます: GitHub - discourse/message_bus: A reliable and robust messaging bus for Ruby and Rack

しかし、おそらくより簡単な解決策は、Discourse の WebHooks 機能を使用することです。これにより、新しいトピック/投稿があるたびに Discourse がエンドポイントにウェブ要求を行うことができます。詳細については、こちらをご覧ください。

「いいね!」 5

FlutterフロントエンドとWebhookがどのように関連し、役立つのか理解できません。

OPが探しているのは、MessageBusクライアントのDart実装のようです。これはおそらく、このJavaScriptコードをリバースエンジニアリングする必要があるでしょう。別の代替案として、Dart内でJavaScriptコードを実行し、それをJavaScriptからDartに変換するバインディングでラップすることが考えられます。Dartへの直接移植が、これら2つのうちよりパフォーマンスが良いでしょう。

もし私が間違っていたら、誰か訂正してください。これは私が深く掘り下げたものではありませんが、Flutterフロントエンドというアイデアは興味深いと思います。

「いいね!」 3

アイデアは、Webhook → バックエンド → アプリ、という流れです。そのため、アプリが直接 Webhook を受信することはありません。

「いいね!」 4