discoverBridgeServers function
Discover running bridge servers on common ports.
Attempts to connect to a range of ports and returns any that respond with a valid handshake.
Implementation
Future<List<BridgeServerInfo>> discoverBridgeServers({
String host = 'localhost',
List<int> ports = const [19836, 19837, 19838, 19839, 19840],
Duration timeout = const Duration(seconds: 2),
}) async {
final results = <BridgeServerInfo>[];
final futures = <Future<void>>[];
for (final port in ports) {
futures.add(
_probePort(host, port, timeout)
.then((info) {
if (info != null) results.add(info);
})
.catchError((Object _) {
// Port not available — skip.
}),
);
}
await Future.wait(futures);
return results;
}