Beispiel #1
0
        public Contact(UInt128 uClientID, uint uIp, ushort uUdpPort, ushort uTcpPort, byte uVersion, KadUDPKey cUDPKey, bool bIPVerified)
        {
            m_uClientID = uClientID;
            Kademlia.GetPrefs().GetKadID(ref m_uDistance);
            m_uDistance.Xor(uClientID);
            m_uIp        = uIp;
            UDPPort      = uUdpPort;
            TCPPort      = uTcpPort;
            Version      = uVersion;
            UDPKey       = cUDPKey;
            IsIpVerified = bIPVerified;

            InitContact();
        }
Beispiel #2
0
        public static void RecheckFirewalled()
        {
            if (m_pInstance != null && m_pInstance.GetPrefs() != null && !IsRunningInLANMode())
            {
                // Something is forcing a new firewall check
                // Stop any new buddy requests, and tell the client
                // to recheck it's IP which in turns rechecks firewall.
                m_pInstance.m_pPrefs.SetFindBuddy(false);
                m_pInstance.m_pPrefs.SetRecheckIP();
                // also UDP check
                UDPFirewallTester.ReCheckFirewallUDP(false);

                DateTime tNow = DateTime.Now;
                // Delay the next buddy search to at least 5 minutes after our firewallcheck so we are sure to be still firewalled
                m_tNextFindBuddy     = (m_tNextFindBuddy < tNow.AddMinutes(5)) ? (tNow.AddMinutes(5)) : m_tNextFindBuddy;
                m_tNextFirewallCheck = tNow.AddHours(1);
                m_tNextUPnPCheck     = m_tNextFirewallCheck.AddMinutes(-1);
            }
        }