gpt4 book ai didi

flutter - 如何在 flutter 中订阅 Websocket 主题?

转载 作者:IT王子 更新时间:2023-10-29 07:15:50 25 4
gpt4 key购买 nike

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

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

另外,我试过 stomp_sockjs,但它需要 SDK 版本 <2.0.0。我当前的 Dart SDK 版本是 2.4.0,我不想降低它,因为它会破坏我拥有的所有其他依赖项。

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

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

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 应用程序中执行相同操作的解决方案

最佳答案

WebSockets 没有主题的概念——你在 JS 中使用的协议(protocol)叫做 STOMP所以你需要为 Dart 使用 STOMP 库。

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

STOMP 中的 S 代表简单,因此如果两者都不起作用,您自己实现可能不会太困难。

关于flutter - 如何在 flutter 中订阅 Websocket 主题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57418569/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com