flutter - Websocket 在 Flutter web 上干净地断开连接

标签 flutter websocket push-notification flutter-web pusher

我们有一个到推送器 websocket 的连接。我们每 40 秒发送一次 ping 消息。

正在使用的库:https://pub.dev/packages/web_socket_channel

发生断开连接时,我们正在登录控制台。

它在这里考虑了 onDone 事件

_subscription = _channel!.stream.listen(
    (e) => _handlePusherEvent(e, id),
    onDone: () => _onDone(message: 'onDone'), // Erratic clean disconnection here
    onError: (e) => _onWebsocketError(e),
);


void _onDone({required String message}) {
  print(message);
}

行为不稳定,有时 7 小时后完成,有时只需要几分钟。我们正在记录 ping 和 pong 消息。 ping 消息日志先于 onDone 事件,因此它不会因为没有发送 ping 消息而关闭。

这是插入者方面的问题吗?

谢谢

最佳答案

要检查 Pusher 是否存在问题,您可能需要通过 https://support.pusher.com/hc/en-us/requests/new 联系他们.

关于flutter - Websocket 在 Flutter web 上干净地断开连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67926634/

相关文章:

flutter - `ios/Flutter/Flutter.podspec` 是做什么的?

ios - 如何访问推送通知中的参数

iphone - 接收 iPhone 关闭时奇怪的 Apple 推送通知行为

dart - 如何在 Flutter 中反转文本?

android-studio - android studio 中的 flutter 说找不到要转到的声明......我正在使用它的最新版本 v1.7.8+hotfix.4

Flutter:如何在子小部件的构建上下文之外的函数中访问 'provider' 值?

angular - 如何使用模拟 websocket 来测试服务功能中的 onMessage?

javascript - 如何在 Sails.js 中监视添加到模型中的新记录

使用 libtomcrypt 计算 websocket Sec-WebSocket-Accept 值

android - 防止 webview Activity 中的多个实例