• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

C#实现的FastPing代码

OC/C/C++ 水墨上仙 1376次浏览

C#实现的FastPing代码,知己开发一个ping的工具

using System;
using System.Net.NetworkInformation;
namespace RobvanderWoude
{
	class FastPing
	{
		static int Main( string[] args )
		{
			try
			{
				string hostname = string.Empty;
				char[] test = { '/', '?' };
				#region Command Line Parsing
				if ( args.Length == 1 )
				{
					hostname = args[0];
				}
				else
				{
					return WriteError( );
				}
				if ( hostname.IndexOfAny( test ) != -1 )
				{
					return WriteError( );
				}
				#endregion Command Line Parsing
				try
				{
					Ping ping = new Ping( );
					PingReply reply = ping.Send( hostname );
					Console.WriteLine( reply.Address );
					if ( reply.Status == IPStatus.Success )
					{
						return 0;
					}
					else
					{
						return 1;
					}
				}
				catch ( PingException e )
				{
					Console.Error.WriteLine( "ERROR: {0} ({1})", e.Message, e.InnerException.Message );
					return 1;
				}
			}
			catch ( Exception e )
			{
				Console.Error.WriteLine( "ERROR: {0}", e.Message );
				return 1;
			}
		}
	
		#region Error Handling
		public static int WriteError( Exception e = null )
		{
			return WriteError( e == null ? null : e.Message );
		}
		public static int WriteError( string errorMessage )
		{
			Console.OpenStandardError( );
			if ( string.IsNullOrEmpty( errorMessage ) == false )
			{
				Console.Error.WriteLine( );
				Console.ForegroundColor = ConsoleColor.Red;
				Console.Error.Write( "ERROR: " );
				Console.ForegroundColor = ConsoleColor.White;
				Console.Error.WriteLine( errorMessage );
				Console.ResetColor( );
			}
			/*
			FastPing,  Version 1.00
			Faster PING alternative
			Usage:   FASTPING    hostname
			or:      FASTPING    ipaddress
			Where:   hostname    is the host name to be pinged
			         ipaddress   is the IP address to be pinged
			Written by Rob van der Woude
			http://www.robvanderwoude.com
			*/
			Console.Error.WriteLine( );
			Console.Error.WriteLine( "FastPing,  Version 1.00" );
			Console.Error.WriteLine( "Faster PING alternative" );
			Console.Error.WriteLine( );
			Console.Error.Write( "Usage:   " );
			Console.ForegroundColor = ConsoleColor.White;
			Console.Error.WriteLine( "FASTPING  hostname" );
			Console.ResetColor( );
			Console.Error.Write( "or:      " );
			Console.ForegroundColor = ConsoleColor.White;
			Console.Error.WriteLine( "FASTPING  ipaddress" );
			Console.ResetColor( );
			Console.Error.WriteLine( );
			Console.Error.Write( "Where:   " );
			Console.ForegroundColor = ConsoleColor.White;
			Console.Error.Write( "hostname" );
			Console.ResetColor( );
			Console.Error.WriteLine( "      is the host name to be pinged" );
			Console.ForegroundColor = ConsoleColor.White;
			Console.Error.Write( "         ipaddress" );
			Console.ResetColor( );
			Console.Error.WriteLine( "     is the IP address to be pinged" );
			Console.Error.WriteLine( );
			Console.Error.WriteLine( "Written by Rob van der Woude" );
			Console.Error.Write( "http://www.robvanderwoude.com" );
			Console.OpenStandardOutput( );
			return 1;
		}
		#endregion Error Handling
	}
}


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明C#实现的FastPing代码
喜欢 (0)
加载中……