public PacketskHandler()
        {
            this.m_DirectionFilterManager = new FilterManager<Direction>();

            this.m_IpStorage = new IpStorage();

            IPEndPoint[] ipep = Listener.EndPoints;

            m_Listeners = new Listener[ipep.Length];

            bool success = false;

            do
            {
                for (int i = 0; i < ipep.Length; i++)
                {
                    Listener l = new Listener(ipep[i],this);
                    if (!success && l != null)
                        success = true;
                    m_Listeners[i] = l;
                }
                if (!success)
                {
                    Console.WriteLine("Retrying...");
                    Thread.Sleep(10000);
                }
            } while (!success);

            m_Peek = new byte[4];
        }
        public PacketskHandler()
        {
            this.m_DirectionFilterManager = new FilterManager <Direction>();

            this.m_IpStorage = new IpStorage();

            IPEndPoint[] ipep = Listener.EndPoints;

            m_Listeners = new Listener[ipep.Length];

            bool success = false;

            do
            {
                for (int i = 0; i < ipep.Length; i++)
                {
                    Listener l = new Listener(ipep[i], this);
                    if (!success && l != null)
                    {
                        success = true;
                    }
                    m_Listeners[i] = l;
                }
                if (!success)
                {
                    Console.WriteLine("Retrying...");
                    Thread.Sleep(10000);
                }
            } while (!success);

            m_Peek = new byte[4];
        }