lan_scanner
Dart / Flutter package that allows discovering network devices in local network (LAN).
Note: This library is intended to be used on Class C networks.
This project is a rework of already existing ping_discover_network, however it is no longer maintained.
Getting Started
Add the package to your pubspec.yaml:
lan_scanner: ^2.0.0
Import the library:
import 'package:lan_scanner/lan_scanner.dart';
Create an instance of the class and call quickScan()
or preciseScan()
on it:
final port = 80; final subnet = "192.168.0"; final timeout = Duration(seconds: 5); final scanner = LanScanner(); final stream = scanner.preciseScan( subnet, timeout: timeout, progressCallback: (ProgressModel progress) { print('${progress.percent * 100}% 192.168.0.${progress.currIP}'); }, ); stream.listen((DeviceModel device) { if (device.exists) { print("Found device on ${device.ip}:${device.port}"); } });
If you don’t know what is your subnet, you can use network_info_plus and then ipToSubnet()
function.
var wifiIP = await (NetworkInfo().getWifiIP()) var subnet = ipToSubnet(wifiIP);
Contribute on GitHub
Provides the list of the opensource Flutter apps collection with GitHub repository.