コード例 #1
0
ファイル: ServiceBrowser.cs プロジェクト: T-REX-XP/NCast
 private void OnInterfaceDetect(InterfaceDetectedEventArgs e)
 {
     if (InterfaceDetected != null)
     {
         InterfaceDetected(this, e);
     }
 }
コード例 #2
0
ファイル: ServiceBrowser.cs プロジェクト: T-REX-XP/NCast
        private void StartBrowsing()
        {
            if (IsBrowsing)
            {
                return;
            }
            IsBrowsing = true;

            if (SynchronizationContext == null)
            {
                SynchronizationContext = SynchronizationContext.Current;
            }

            _interfaceHandlers = new Dictionary <int, NetworkInterfaceHandler>();

            NetworkInterfaceInformation[] interfaceInfos = NetworkInterfaceInformation.GetAllNetworkInterfaces();
            foreach (NetworkInterfaceInformation interfaceInfo in interfaceInfos)
            {
                if (interfaceInfo.NetworkInterfaceType == NetworkInterfaceType.Loopback)
                {
                    continue;
                }
                if (interfaceInfo.NetworkInterfaceType == NetworkInterfaceType.Tunnel)
                {
                    continue;
                }

                var networkInterface = new NetworkInterface(interfaceInfo);
                var e = new InterfaceDetectedEventArgs(networkInterface)
                {
                    Add = true
                };

                OnInterfaceDetect(e);
                if (e.Add)
                {
                    int index = interfaceInfo.GetIPProperties().GetIPv4Properties().Index;
                    _interfaceHandlers.Add(index, new NetworkInterfaceHandler(this, networkInterface));
                }
            }
            NetworkChange.NetworkAddressChanged += CheckNetworkInterfaceStatuses;
            CheckNetworkInterfaceStatuses(null, null);
        }
コード例 #3
0
ファイル: ServiceBrowser.cs プロジェクト: 4nd413/NCast
        private void StartBrowsing()
        {
            if (IsBrowsing)
            {
                return;
            }
            IsBrowsing = true;

            if (SynchronizationContext == null)
            {
                SynchronizationContext = SynchronizationContext.Current;
            }

            _interfaceHandlers = new Dictionary<int, NetworkInterfaceHandler>();

            NetworkInterfaceInformation[] interfaceInfos = NetworkInterfaceInformation.GetAllNetworkInterfaces();
            foreach (NetworkInterfaceInformation interfaceInfo in interfaceInfos)
            {
                if (interfaceInfo.NetworkInterfaceType == NetworkInterfaceType.Loopback)
                {
                    continue;
                }
                if (interfaceInfo.NetworkInterfaceType == NetworkInterfaceType.Tunnel)
                {
                    continue;
                }

                var networkInterface = new NetworkInterface(interfaceInfo);
                var e = new InterfaceDetectedEventArgs(networkInterface)
                {
                    Add = true
                };

                OnInterfaceDetect(e);
                if (e.Add)
                {
                    int index = interfaceInfo.GetIPProperties().GetIPv4Properties().Index;
                    _interfaceHandlers.Add(index, new NetworkInterfaceHandler(this, networkInterface));
                }
            }
            NetworkChange.NetworkAddressChanged += CheckNetworkInterfaceStatuses;
            CheckNetworkInterfaceStatuses(null, null);
        }
コード例 #4
0
ファイル: ServiceBrowser.cs プロジェクト: 4nd413/NCast
 private void OnInterfaceDetect(InterfaceDetectedEventArgs e)
 {
     if (InterfaceDetected != null)
     {
         InterfaceDetected(this, e);
     }
 }