C#中使用ping命令测试远程主机网络通信是否正常

说明,使用ping工具

1.可以用来查询域名是否可以访问

2.可以用来查询域名对应的ip地址

如果远程服务器允许ping命令的前提下。

解决思路:主要使用了C#提供的Ping类,效率比较高,相应快

程序集 System

命名空间:namespace System.Net.NetworkInformation

复制代码
string host = "www.baidu.com";
Ping p1 = new Ping();
PingReply reply = p1.Send(host); //发送主机名或Ip地址
StringBuilder sbuilder;
if (reply.Status == IPStatus.Success)
{
    sbuilder = new StringBuilder();
    sbuilder.AppendLine(string.Format("Address: {0} ", reply.Address.ToString()));
    sbuilder.AppendLine(string.Format("RoundTrip time: {0} ", reply.RoundtripTime));
    sbuilder.AppendLine(string.Format("Time to live: {0} ", reply.Options.Ttl));
    sbuilder.AppendLine(string.Format("Don't fragment: {0} ", reply.Options.DontFragment));
    sbuilder.AppendLine(string.Format("Buffer size: {0} ", reply.Buffer.Length));
    Console.WriteLine(sbuilder.ToString());
}
else if (reply.Status == IPStatus.TimedOut)
{
    Console.WriteLine("超时");
}
else
{
    Console.WriteLine("失败");
}
复制代码

posted @   rainbow70626  阅读(752)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
历史上的今天:
2017-10-20 文件路径分解与批处理文件遍历
点击右上角即可分享
微信分享提示