| Index: pkg/mdns/bin/mdns-sd.dart
 | 
| diff --git a/pkg/mdns/bin/mdns-sd.dart b/pkg/mdns/bin/mdns-sd.dart
 | 
| index 1357aa71e43f9ac5851a244f219300699be5fbc5..6310626ff6e477f49e9d4be7ce5a5d76e3587489 100644
 | 
| --- a/pkg/mdns/bin/mdns-sd.dart
 | 
| +++ b/pkg/mdns/bin/mdns-sd.dart
 | 
| @@ -5,25 +5,35 @@
 | 
|  // Example script to illustrate how to use the mdns package to discover services
 | 
|  // on the local network.
 | 
|  
 | 
| -import 'mdns.dart';
 | 
| +import 'package:args/args.dart';
 | 
| +
 | 
| +import '../lib/mdns.dart';
 | 
|  
 | 
|  main(List<String> args) async {
 | 
| -  if (args.length != 1) {
 | 
| +  // Parse the command line arguments.
 | 
| +  var parser = new ArgParser();
 | 
| +  parser.addOption('timeout', abbr: 't', defaultsTo: '5');
 | 
| +  var arguments = parser.parse(args);
 | 
| +
 | 
| +  if (arguments.rest.length != 1) {
 | 
|      print('''
 | 
|  Please provide the name of a service as argument.
 | 
|  
 | 
|  For example:
 | 
| -  dart mdns-sd.dart _workstation._tcp.local''');
 | 
| +  dart mdns-sd.dart  [--timeout <timeout>] _workstation._tcp.local''');
 | 
|      return;
 | 
|    }
 | 
| +
 | 
| +  var name = arguments.rest[0];
 | 
| +
 | 
|    MDnsClient client = new MDnsClient();
 | 
|    await client.start();
 | 
| -  await for (ResourceRecord ptr in client.lookup(RRType.PTR, args[0])) {
 | 
| +  await for (ResourceRecord ptr in client.lookup(RRType.PTR, name)) {
 | 
|      String domain = ptr.domainName;
 | 
|      await for (ResourceRecord srv in client.lookup(RRType.SRV, domain)) {
 | 
|        String target = srv.target;
 | 
|        await for (ResourceRecord ip in client.lookup(RRType.A, target)) {
 | 
| -        print('Service instance found at $target ($ip).');
 | 
| +        print('Service instance found at $target (${ip.address}).');
 | 
|        }
 | 
|      }
 | 
|    }
 | 
| 
 |