【问题标题】:How to subscribe to a Websocket topic in flutter?如何在 Flutter 中订阅 Websocket 主题?
【发布时间】:2019-08-08 18:15:01
【问题描述】:

问题是我找不到订阅 WebSocket 主题的解决方案。

我已尝试 web_socket_channel,但没有订阅特定主题所需的功能。

另外,我试过 stomp_sockjs,但它需要 SDK 版本

adhara_socket_io 等其他 WebSocket 库中,我找不到订阅主题的方法。

sockjsstomp 库的帮助下,我设法使用 JS 使用来自 WebSocket 的数据。但是如何在颤振中做到这一点?

function connect() {
            stompClient = Stomp.client("ws://xx.xxx.xxx.xxx/somePath");
            stompClient.connect({"Access-Control-Allow-Origin":"*"}, function (frame) {
                setConnected(true);
                console.log('Connected: ' + frame);
                stompClient.subscribe('/topic/someStatus', function (greeting) {
                    showGreeting(JSON.parse(greeting.body));
                });
            });
        }

所以,我想在我的 Flutter 应用中找到一个可以做同样事情的解决方案

【问题讨论】:

    标签: flutter dart websocket


    【解决方案1】:

    WebSockets 没有主题的概念 - 您在 JS 中使用的协议称为 STOMP,因此您需要为 Dart 使用 STOMP 库。

    Pub 上有一些 STOMP 包,但我不知道它们有多完整(或值得信赖):

    STOMP 中的 S 代表 Simple,所以如果两者都不起作用,那么自己实现可能并不太难。

    【讨论】:

      【解决方案2】:

      我找到了解决方案:https://github.com/killerWqs2/flutter-websocket-client

      它允许通过 WebSockets 订阅一个 stomp 主题

      【讨论】:

      • 你用过stomp吗?它适用于 stomp 吗? @user3473445
      猜你喜欢
      • 2019-04-13
      • 2018-09-11
      • 2015-08-11
      • 2020-09-16
      • 2016-08-21
      • 2021-01-16
      • 1970-01-01
      • 1970-01-01
      • 2020-09-20
      相关资源
      最近更新 更多