예제 #1
0
        ///<summary>Start the Tracker. Start Watching the TORRENT_DIR Directory for new Torrents.</summary>
        public MySimpleTracker()
        {
            #region Changes to use DhtTracker
            BrunetDht dht = (BrunetDht)DictionaryServiceFactory.GetServiceInstance(
                typeof(BrunetDht));
            DictionaryServiceProxy   proxy       = new DictionaryServiceProxy(dht, 0);
            DictionaryServiceTracker dictTracker = new DictionaryServiceTracker(proxy, "http://*:24132");
            tracker = dictTracker.Tracker;
            dictTracker.Start();
            #endregion

            SetupTorrentWatcher();


            while (true)
            {
                lock (tracker)
                    foreach (SimpleTorrentManager m in tracker)
                    {
                        Console.Write("Name: {0}   ", m.Trackable.Name);
                        Console.WriteLine("Complete: {1}   Incomplete: {2}   Downloaded: {0}", m.Downloaded, m.Complete, m.Incomplete);
                        IList <Peer> peers = m.GetPeers();
                        foreach (Peer pr in peers)
                        {
                            Console.WriteLine(pr.ClientAddress);
                        }
                        Console.WriteLine();
                    }

                System.Threading.Thread.Sleep(10000);
            }
        }
예제 #2
0
        ///<summary>Start the Tracker. Start Watching the TORRENT_DIR Directory for new Torrents.</summary>
        public MySimpleTracker()
        {
            #region Changes to use DhtTracker
              BrunetDht dht = (BrunetDht)DictionaryServiceFactory.GetServiceInstance(
            typeof(BrunetDht));
              DictionaryServiceProxy proxy = new DictionaryServiceProxy(dht, 0);
              DictionaryServiceTracker dictTracker = new DictionaryServiceTracker(proxy, "http://*:24132");
              tracker = dictTracker.Tracker;
              dictTracker.Start();
              #endregion

              SetupTorrentWatcher();

              while (true) {
            lock (tracker)
              foreach (SimpleTorrentManager m in tracker) {
            Console.Write("Name: {0}   ", m.Trackable.Name);
            Console.WriteLine("Complete: {1}   Incomplete: {2}   Downloaded: {0}", m.Downloaded, m.Complete, m.Incomplete);
            IList<Peer> peers = m.GetPeers();
            foreach (Peer pr in peers) {
              Console.WriteLine(pr.ClientAddress);
            }
            Console.WriteLine();
              }

            System.Threading.Thread.Sleep(10000);
              }
        }