zoukankan      html  css  js  c++  java
  • C#-如何ping IP

    dll:// C:Program Files (x86)Reference AssembliesMicrosoftFramework.NETFrameworkv4.0System.dll

    方法 1:

            /// <summary>
            /// 是否能 Ping 通指定的主机
            /// </summary>
            /// <param name="ip">ip 地址或主机名或域名</param>
            /// <returns>true 通,false 不通</returns>
            private bool Ping(string ip)
            {
                bool w_blnReturn = false;
                try
                {
    
                    System.Net.NetworkInformation.Ping p = new System.Net.NetworkInformation.Ping();
                    System.Net.NetworkInformation.PingOptions options = new System.Net.NetworkInformation.PingOptions();
                    options.DontFragment = true;
                    string data = "Test Data!";
                    byte[] buffer = Encoding.ASCII.GetBytes(data);
                    int timeout = 1000; // Timeout 时间,单位:毫秒
                    System.Net.NetworkInformation.PingReply reply = p.Send(ip, timeout, buffer, options);
                    if (reply.Status == System.Net.NetworkInformation.IPStatus.Success)
                        w_blnReturn = true;
                    else
                        w_blnReturn = false;
    
                }
                catch (Exception ex)
                {
                    //异常日志
                    msg = String.Format("Ping执行异常,详细:{0}", ex.StackTrace.ToString());
                    log.Error(msg);
                }
                return w_blnReturn;
            }
    

      

    方法2:   PingReply reply = pinSender.Send(str_ip, timeout, buffer, options);

             /// <summary>
            /// Ping固定IP 
            /// </summary>
            /// <param name="str_ip">IP地址</param>
            /// <returns>成功返回1,失败返回0</returns>
            public int CheckDeviceStatus(string str_ip)
            {
                Ping pinSender = new Ping();
                PingOptions options = new PingOptions();
                string data = "";
                byte[] buffer = Encoding.ASCII.GetBytes(data);
                options.DontFragment = true;
                int timeout = 1200;
                PingReply reply = pinSender.Send(str_ip, timeout, buffer, options);
                if (reply.Status != IPStatus.Success)
                {
                    return 0;
                }
    
                return 1;
            }
    

      

  • 相关阅读:
    [转] ArcGIS自定义工具完全教程 1/2
    ArcMap工具栏中嵌入自定义按钮
    自定义ArcGIS应用程序
    制作ArcGIS DLL插件的安装包
    如何编写和注册.Net的Com组件
    空间参考(三)ArcGIS Engine的支持
    ArcGIS Desktop开发基础
    ArcGIS中坐标系统简介
    Ao开发
    ArcGIS Desktop Addin插件开发系列
  • 原文地址:https://www.cnblogs.com/lhlong/p/4956476.html
Copyright © 2011-2022 走看看