zoukankan      html  css  js  c++  java
  • 实时检测网络状态及是否可以连接Internet

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Net.NetworkInformation;
    using System.Runtime.InteropServices;
    namespace NetWork
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                NetworkChange.NetworkAvailabilityChanged += new NetworkAvailabilityChangedEventHandler(NetworkChange_NetworkAvailabilityChanged);
                NetworkChange.NetworkAddressChanged+=new NetworkAddressChangedEventHandler(NetworkChange_NetworkAddressChanged);
            }
            public void NetworkChange_NetworkAddressChanged(object sender, EventArgs e)
            {
                NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
                foreach (NetworkInterface n in adapters)
                {
                    if(n.NetworkInterfaceType!= NetworkInterfaceType.Loopback)
                        Console.WriteLine("Changed   {0} is {1}", n.Name, n.OperationalStatus);
                }
                Console.WriteLine("NetState  :  " + NetState());
            }
            public void NetworkChange_NetworkAvailabilityChanged(object sender, NetworkAvailabilityEventArgs e)
            {           
                Console.WriteLine("IsAvailable  :  "+e.IsAvailable);
                Console.WriteLine("NetState  :  " + NetState());
               
            }

            [DllImport("wininet.dll")]
            public static extern bool InternetGetConnectedState(out long lpdwFlags, long dwReserved);

            public static bool NetState()
            {
                //string url = http://www.baidu.com/;
                //if (url.StartsWith("http://")) url = url.Remove(0, "http://".length/);
                //try
                //{
                //    System.Net.IPHostEntry ipHost = System.Net.Dns.GetHostEntry(url);// System.Net.Dns.Resolve(url);
                //    return true;
                //}
                //catch //(System.Net.Sockets.SocketException se)
                //{
                //    //System.Diagnostics.Trace.Write(se.Message);
                //    return false;
                //}
                try
                {
                    long lfag;
                    if (InternetGetConnectedState(out lfag, 0))
                    {                  
                        return true;  
                    }
                    return false;
                }
                catch
                {
                    return false;
                }
            }

          }
    }

  • 相关阅读:
    在金融服务计算中,必须要使用BigDecimal
    互联网发展的三个阶段
    k3 cloud服务器端安装顺序
    k3 cloud修改数据库密码后无法连接管理中心
    K3 CLOUD提示库存键重复,提示如下
    k3 cloud总账凭证提示冲突,清除冲突并且第二天开机以后依然提示
    k3 cloud注册插件的时候提示,请选择一个有效的插件程序集
    k3 cloud付款单提示余额不足,科目余额表中余额为正,银行存款流水账中未负数
    k3 cloud提示超出产品激活有效期
    k3 cloud在站点中新增用户
  • 原文地址:https://www.cnblogs.com/luluping/p/1809835.html
Copyright © 2011-2022 走看看