MessageBus - Come configurare Messagebus usando Dart-Flutter

Ciao a tutti,

Sto creando un’applicazione mobile che utilizza Discourse per ottenere e inviare dati. Al momento, sto effettuando una richiesta ogni 30 secondi per verificare se ci sono nuovi post su un argomento. Questo potrebbe potenzialmente danneggiare il nostro forum causandoci accidentalmente un ddos.

Ho cercato una buona soluzione utilizzando WebSockets in Flutter, ma finora senza successo. Per Discourse, mi sono imbattuto in MessageBus, la cui documentazione è fonte di confusione.

Tuttavia, abbiamo configurato MessageBus sul nostro forum, come si vede in questa richiesta di polling:
image

Quindi la mia domanda è se qualcuno ha qualche idea su come risolvere questo problema e ha esperienza nell’uso di MessageBus o Flutter WebSockets.

1 Mi Piace

MessageBus è un’opzione: puoi trovare librerie client per Ruby e JS qui: GitHub - discourse/message_bus: A reliable and robust messaging bus for Ruby and Rack

Ma una soluzione più semplice è probabilmente utilizzare la funzionalità WebHooks di Discourse. In questo modo, Discourse può effettuare una richiesta web al tuo endpoint ogni volta che c’è un nuovo argomento/post. Puoi trovare maggiori informazioni qui:

5 Mi Piace

Non capisco come i webhook possano essere correlati o utili a un frontend Flutter.

Sembra che ciò che l’OP sta cercando sia un’implementazione Dart del client MessageBus… che probabilmente dovrebbe essere sottoposta a reverse engineering da questo codice Javascript. Un’altra alternativa potrebbe essere quella di eseguire il codice Javascript all’interno di Dart, e poi racchiuderlo in binding per tradurre da Javascript a Dart. Una traduzione diretta in Dart dovrebbe essere la più performante di queste due.

Qualcuno mi corregga se sbaglio. Non è qualcosa che ho approfondito, ma penso che l’idea di un frontend Flutter sia intrigante.

3 Mi Piace

L’idea sarebbe Webhook → il tuo backend → la tua app. Quindi, l’app non riceverebbe direttamente le webhook.

4 Mi Piace