【问题标题】:Flutter) I want to automatically reconnect when the socket is disconnectedFlutter)我想在socket断开时自动重新连接
【发布时间】:2023-04-09 08:42:01
【问题描述】:

我正在构建一个 Flutter 应用。套接字通信是通过“web_socket_channel”包实现的。我想实现下面的两个功能。

  • 套接字断线检测
  • 检测到套接字断开时自动重新连接尝试

很遗憾,“web_socket_channel”包不提供这些功能。
你能给我一些关于如何实现它的建议吗?

【问题讨论】:

  • 没有重新连接 TCP 套接字这样的事情。您必须关闭它并创建一个新的。

标签: flutter sockets websocket


【解决方案1】:

你可以这样做

    createSocket(){
          IOWebSocketChannel channel;
          try {
            channel = IOWebSocketChannel.connect('ws://...');
            channel.stream.listen((data) async {
              //Do something here
            }).onDone(() {
              print("Socket Done");
              createSocket();
            });
          } catch (ex) {
            print("SOCKET ERROR");
            print(ex);
            createSocket();
          }
     }

【讨论】:

  • 不要使用递归作为一种迭代形式。
猜你喜欢
  • 1970-01-01
  • 2020-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-27
  • 2011-03-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多