Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
 public void BrowseRoots()
 {
     client.Browse("upnp:rootdevice");
 }
Exemplo n.º 3
0
 public void Browse(TypeInfo type)
 {
     client.Browse(type.ToString());
 }