public static int Main(string [] args) { bool show_help = false; for (int i = 0; i < args.Length; i++) { if (args[i][0] != '-') { continue; } switch (args[i]) { case "-t": case "--target": search_targets.Add (args[++i]); break; case "-n": case "--no-strict": Client.StrictProtocol = false; break; case "-h": case "--help": show_help = true; break; case "-v": case "--verbose": verbose = true; break; } } if (show_help) { Console.WriteLine ("Usage: mssdp-client [-t <USN-1> -t <USN-2> ... -t <USN-N>]"); Console.WriteLine (); Console.WriteLine (" -h|--help shows this help"); Console.WriteLine (" -v|--verbose print verbose details of what's happening"); Console.WriteLine (" -t|--target search for specific target"); Console.WriteLine (" -n|--no-strict turn off strict protocol handling"); Console.WriteLine (); Console.WriteLine ("The default search target is ssdp:all to match any UPnP device"); Console.WriteLine (); return 1; } if (!Client.StrictProtocol) { Console.WriteLine ("Strict protocol handling has been disabled. Mono.Ssdp will be more"); Console.WriteLine ("relaxed when parsing SSDP responses and notifications."); Console.WriteLine (); } Console.WriteLine ("Hit ^C when you're bored waiting for responses."); Console.WriteLine (); Client client = new Client (); client.ServiceAdded += OnServiceOperation; client.ServiceRemoved += OnServiceOperation; client.ServiceUpdated += OnServiceOperation; if (search_targets.Count == 0) { search_targets.Add ("ssdp:all"); } if (verbose) { Console.WriteLine ("Searching for the following targets:"); } foreach (string target in search_targets) { if (verbose) { Console.WriteLine (" {0}", target); } client.Browse (target); } if (verbose) { Console.WriteLine (); } while (true) { System.Threading.Thread.Sleep (1000); } }
public void BrowseRoots() { client.Browse("upnp:rootdevice"); }
public void Browse(TypeInfo type) { client.Browse(type.ToString()); }