首页 > 编程语言 >C#获取网络状态两种方式

C#获取网络状态两种方式

时间:2023-04-04 12:11:39浏览次数:47  
标签:Console string C# 网络 获取 WriteLine StartInfo reply true

第一种

        /// <summary>
        /// 获取网络状态
        /// </summary>
        /// <param name="IP"></param>
        /// <returns></returns>
        public static bool CheckedIPSpeed(string IP)
        {
            //远程服务器IP
            string ipStr = "www.google.com";
            //构造Ping实例
            Ping pingSender = new Ping();
            //Ping 选项设置
            PingOptions options = new PingOptions();
            options.DontFragment = true;
            //测试数据
            string data = "test data abcabc";
            byte[] buffer = Encoding.ASCII.GetBytes(data);
            //设置超时时间
            int timeout = 2 * 1000;
            //调用同步 send 方法发送数据,将返回结果保存至PingReply实例
            PingReply reply = pingSender.Send(ipStr, timeout, buffer, options);
            if (reply.Status == IPStatus.Success)
            {
                return true;
                //Console.WriteLine("答复的主机地址:" + reply.Address.ToString());
                //Console.WriteLine("往返时间:" + reply.RoundtripTime);
                //Console.WriteLine("生存时间(TTL):" + reply.Options.Ttl);
                //Console.WriteLine("是否控制数据包的分段:" + reply.Options.DontFragment);
                //Console.WriteLine("缓冲区大小:" + reply.Buffer.Length);
            }
			else
			{
                return false;
                //Console.WriteLine(reply.Status.ToString());
            }

        }

  第二种

 

    public static bool  CheckedIPDetail(string IP)
		{
            Process p = new Process(); p.StartInfo.FileName = "cmd.exe";//设定程序名
            p.StartInfo.UseShellExecute = false; //关闭Shell的使用
            p.StartInfo.RedirectStandardInput = true;//重定向标准输入
            p.StartInfo.RedirectStandardOutput = true;//重定向标准输出
            p.StartInfo.RedirectStandardError = true;//重定向错误输出
            p.StartInfo.CreateNoWindow = true;//设置不显示窗口
            string pingrst; p.Start(); p.StandardInput.WriteLine("ping " + IP); //主机或ip地址
            p.StandardInput.WriteLine("exit");
            string strRst = p.StandardOutput.ReadToEnd();
            p.Close();
            return strRst.Contains("100% 丢失");
             
		}

  

标签:Console,string,C#,网络,获取,WriteLine,StartInfo,reply,true
From: https://www.cnblogs.com/hkzw/p/17285988.html

相关文章

  • 提供免费 TPU 的 ControlNet 微调活动来啦
    相信大家已经感受到AI绘画的魅力,多多少少也可以自称半个「prompt小专家」了,而在AI绘画的时候StableDiffusion也会出现一些小瑕疵,比如AI不是灵魂画「手」,还有一些特别的肢体动作也不是普通人可以用语言描述清楚的。这个时候,就轮到ControlNet出场啦!通过ControlNet技......
  • C++奥赛一本通贪心题解
    C++奥赛一本通刷题记录(贪心)2017.11.15Bygwj1139177410书不见了,占坑待填。AnEasyProblempoj2453//贪心,将最右边第一个01改成10并将其右边的1都往右移到最低位#include<iostream>usingnamespacestd;intmain(){unsignedintn,x;while(cin>>n&&n){......
  • ERROR: Could not find a version that satisfies the requirement pymysql (from ver
    踩过的坑不管是idea中直接引入还是 pip3installpymysql都会报错:ERROR:Couldnotfindaversionthatsatisfiestherequirementpymysql(fromversions:none)  原因是网络问题,需要需要使用国内镜像源来加速,比如豆瓣源pipinstallpymysql-ihttp://pypi.douba......
  • Oracle 停止impdp或expdp过程
    Oracle在执行impdp或expdp过程中如果不想执行按Ctrl+C中断,但进程并未中断仍在后台运行,可以看导出的文件大小一直在长expdp正确停止过程:1.查看正在运行的job,可以发现自己的job还在执行select*fromdba_datapump_jobs;2.根据上面job_name进入到刚才执行的expdp下expdpsy......
  • .Net下的CORS跨域设置
    .Net下的CORS跨域设置 CORS跨域访问问题往往出现在“浏览器客户端”通过ajax调用“服务端API”的时候。而且若是深究原理,还会发现跨域问题其实还分为【简单跨域】与【复杂跨域】这两种情况。网上对解决跨域限制有很多说明文章,但绝大多数要么解决的不完善(比如,没有区分【简单......
  • buuctf.pwn.jarvisoj_level2
    这个题目,是缓冲区溢出检测一下Nocanaryfound:可以看出没有栈保护NOPIE:没有地址随机化然后分析题目这一次我在网上看到了不同的解法,但是基本思路是一致的主要看一下这个溢出ssize_tvulnerable_function(){charbuf[136];//[esp+0h][ebp-88h]BYREFsys......
  • EF Core从TPH迁移到TPT
    EFCore从TPH迁移到TPT Intro#EFCore支持多种方式处理具有继承关系的表,现在支持TPH、TPC(EFCore7)、TPT,具体的实现方式可以参考官方文档和这篇文章。大致总结一下不同的方式的区别:TPH:所有的类型都放在一张表中,使用discriminator字段用以区别不同的类型TPT:不同的子类型有单......
  • 代码随想录Day20-Leetcode654.最大二叉树,617.合并二叉树,700.二叉搜索树中的搜索,98.验
    654.最大二叉树题目链接:https://leetcode.cn/problems/maximum-binary-tree/基本的模拟思路很快/***Definitionforabinarytreenode.*functionTreeNode(val,left,right){*this.val=(val===undefined?0:val)*this.left=(left===undefined......
  • [BUUCTF]PWN-bjdctf_2020_babystack2
          这题比较简单,注意无符号字符串变为负数之后会发生溢出即可pro.symbols是输出函数地址的意思r.recvuntil的使用是接收到字符串为止,然后将接受的数据返回为什么会有两个payload是因为我想使用这种方式看看行不行为什么是0x10,是因为main函数里不能大于10......
  • 无线热点网络传输给路由器
    以H3CBX54为例首先得通过知道H3CBX54访问192.168.124.1的服务地址的账户密码,没有则重置路由器。重置之后,选择无线中继,会出现一个wifi列表选择。(如果找不到手机共享的热点,可以先用笔记本电脑连接热点,再开一个新热点出来,名字不要起中文,可能会检索不到或者乱码)等待30s左右会提......