public UdpTrackerClient(Uri trackerURI, byte[] infoHash, TrackerClientID clientID, int customUpdateInterval = 0) : base(trackerURI, infoHash, clientID, customUpdateInterval) { if ((trackerURI.Scheme == "udp") && (trackerURI.Port == -1)) { _trackerURI = new Uri("udp://" + trackerURI.Host + ":80" + trackerURI.AbsolutePath); } }
protected TrackerClient(Uri trackerURI, byte[] infoHash, TrackerClientID clientID, int customUpdateInterval) { _trackerURI = trackerURI; _infoHash = infoHash; _clientID = clientID; _customUpdateInterval = customUpdateInterval; _peers = new List <IPEndPoint>(); ScheduleUpdateNow(); }
public static TrackerClient Create(Uri trackerURI, byte[] infoHash, TrackerClientID clientID, int customUpdateInterval = 0) { switch (trackerURI.Scheme) { case "udp": return(new UdpTrackerClient(trackerURI, infoHash, clientID, customUpdateInterval)); case "http": return(new HttpTrackerClient(trackerURI, infoHash, clientID, customUpdateInterval)); default: throw new TrackerClientException("Tracker client only supports HTTP & UDP protocols."); } }
public HttpTrackerClient(Uri trackerURI, byte[] infoHash, TrackerClientID clientID, int customUpdateInterval = 0) : base(trackerURI, infoHash, clientID, customUpdateInterval) { }