//Todo: Separate into UDPHandler and UDPServer
        //Explicit contructor that takes the UPnPConfig classes:
        public UDPHandler(IIpConfig ipconf, IUPnPConfig upnpconf)
        {
            sender = new MulticastSender(ipconf, upnpconf);          //Creates sender
            receiver = new MulticastReceiver();
            //receiver = new MulticastReceiver(IpConf, upnpconf);     //Creates receiver

            NotifyThread = new Thread(sender.NotifySender);     //Thread for notifier. Runs every _cacheexpire seconds
            ReceiveThread = new Thread(Run);                    //Run thread. The default UDP Thread

            _ip = ipconf;
            _upnPConfig = upnpconf;
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="UPnP_Device.UDP.UDPHandler"/> class.
 /// </summary>
 /// <param name='send'>
 /// An instance of the MulticastSender
 /// </param>
 /// <param name='conf'>
 /// Configuration information about the UPnP Device
 /// </param>
 public UDPHandler(MulticastSender send, IUPnPConfig conf)
 {
     sender = send;
     _upnPConfig = conf;
 }