Flutter web_socket 断线重连

// 结束时触发

onDone(){

        // 可在这里进行重连。

        onConnect();    // 重连

}

// 收到Error时触发,cancelOnError:遇到第一个Error时是否取消订阅,默认为false。cancelOnError 为true时,出现onError时,onDone将不会回调

onError(err){

    _channel.sink.close();//关闭连接通道

}

// 收到数据时触发

onData(message){

}

@override

void dispose() {

        _channel.sink.close();    //关闭连接通道

        super.dispose();

}

 IOWebSocketChannel_channel;

// 建立连接

void onConnect() {

        _channel =IOWebSocketChannel.connect("ws://192.168.43.75:8088/wsresult?${token}");

        _channel.sink.add(jsonEncode({"type":"heart"},),);        // 发Json数据

         _channel.stream.listen(this.onData, onError: onError, onDone: onDone);

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容