flutter_network_doctor 0.1.0 copy "flutter_network_doctor: ^0.1.0" to clipboard
flutter_network_doctor: ^0.1.0 copied to clipboard

Production-grade network diagnostics for Flutter with transport, Wi-Fi, internet, DNS, TCP, TLS, IPv4, and IPv6 checks.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:flutter_network_doctor/flutter_network_doctor.dart';

void main() {
  runApp(const _NetworkDoctorExampleApp());
}

class _NetworkDoctorExampleApp extends StatelessWidget {
  const _NetworkDoctorExampleApp();

  @override
  Widget build(BuildContext context) => MaterialApp(
    title: 'Flutter Network Doctor',
    theme: ThemeData(useMaterial3: true),
    home: const _NetworkDoctorPage(),
  );
}

class _NetworkDoctorPage extends StatefulWidget {
  const _NetworkDoctorPage();

  @override
  State<_NetworkDoctorPage> createState() => _NetworkDoctorPageState();
}

class _NetworkDoctorPageState extends State<_NetworkDoctorPage> {
  final FlutterNetworkDoctor _doctor = FlutterNetworkDoctor();
  NetworkDoctorReport? _report;
  bool _running = false;

  @override
  void dispose() {
    _doctor.dispose();
    super.dispose();
  }

  Future<void> _run() async {
    setState(() => _running = true);
    final report = await _doctor.diagnose();
    if (!mounted) {
      return;
    }
    setState(() {
      _report = report;
      _running = false;
    });
  }

  @override
  Widget build(BuildContext context) => Scaffold(
    appBar: AppBar(title: const Text('Network Doctor')),
    body: Padding(
      padding: const EdgeInsets.all(16),
      child: Column(
        crossAxisAlignment: CrossAxisAlignment.stretch,
        children: <Widget>[
          FilledButton.icon(
            onPressed: _running ? null : _run,
            icon: const Icon(Icons.network_check),
            label: Text(_running ? 'Running…' : 'Run diagnostics'),
          ),
          const SizedBox(height: 16),
          Expanded(
            child: SingleChildScrollView(
              child: SelectableText(
                _report?.toPrettyJson() ?? 'No report yet.',
              ),
            ),
          ),
        ],
      ),
    ),
  );
}
2
likes
0
points
239
downloads

Publisher

verified publishermalikdoksoz.com

Weekly Downloads

Production-grade network diagnostics for Flutter with transport, Wi-Fi, internet, DNS, TCP, TLS, IPv4, and IPv6 checks.

Repository (GitHub)
View/report issues

Topics

#network #diagnostics #connectivity #wifi #internet

License

unknown (license)

Dependencies

connectivity_plus, flutter, http, network_info_plus

More

Packages that depend on flutter_network_doctor