Estoy creando una aplicación móvil que utiliza Discourse para OBTENER y PUBLICAR datos. Por el momento, estoy haciendo una solicitud cada 30 segundos para ver si hay nuevas publicaciones en un tema. Esto podría dañar nuestro foro al hacernos un ataque de denegación de servicio accidentalmente.
He estado buscando una buena solución usando WebSockets en Flutter, pero aún no he tenido suerte. Para Discourse, me encontré con MessageBus, cuya documentación es confusa.
Sin embargo, tenemos MessageBus configurado en nuestro foro, como se ve en esta solicitud de sondeo:
Así que mi pregunta es si alguien tiene alguna idea de cómo resolver este problema y tiene experiencia usando MessageBus o Flutter Websockets.
Pero una solución más simple probablemente sea usar la función WebHooks de Discourse. De esa manera, Discourse puede hacer una solicitud web a su endpoint cada vez que haya un nuevo tema/publicación. Puede encontrar más información aquí:
No veo cómo los webhooks estarían relacionados o serían útiles para un frontend de Flutter.
Parece que lo que OP está buscando es una implementación en Dart del cliente MessageBus… que probablemente tendría que ser ingeniería inversa a partir de este código Javascript. Otra alternativa podría ser ejecutar el código Javascript dentro de Dart y luego envolverlo en enlaces para traducir de Javascript a Dart. Una portación directa a Dart debería ser la más performante de estas dos.
Por favor, que alguien me corrija si me equivoco. No es algo que haya investigado, pero creo que la idea de un frontend de Flutter es intrigante.