我想通过Flutter应用程序连接到本地网络上的计算机。有什么办法可以将所有计算机连接到本地网络?喜欢ping广播地址吗?
答案 0 :(得分:2)
现在该库仅适用于Android,但是...
https://pub.dartlang.org/packages/mdns
这样发现服务
startMdnsDiscovery(String serviceType){
Mdns mdns = new Mdns(discoveryCallbacks: discoveryCallbacks);
mdns.startDiscovery(serviceType);
}
完整示例:here
还有what is MDNS。
答案 1 :(得分:0)
但上述软件包仍未维护,并且无法使用当前的dart版本
答案 2 :(得分:0)
要发现您的本地网络并列出连接的计算机,打印机和其他网络设备,请使用ping_discover_network软件包。
获取本地IP并发现网络设备:
import 'package:wifi/wifi.dart';
import 'package:ping_discover_network/ping_discover_network.dart';
final String ip = await Wifi.ip;
final String subnet = ip.substring(0, ip.lastIndexOf('.'));
final int port = 80;
final stream = NetworkAnalyzer.discover(subnet, port);
stream.listen((NetworkAddress addr) {
if (addr.exists) {
print('Found device: ${addr.ip}');
}
});