这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » Asp.net编程技术见解,欢迎进来讨论!免费试用!

共1条 1/1 1 跳转至

Asp.net编程技术见解,欢迎进来讨论!免费试用!

菜鸟
2006-03-28 20:05:15     打赏
Asp.net编程技术见解,欢迎进来讨论!免费试用! PING 是一个用来检测网络连接速度的工具,它会在本机和给出的远程主机名之间建立一个SOCKET 连接并向其发送一个ICMP协议格式的数据包,然后远程主机作出响应,发回一个数据包,通过计算发送到接收数据包的时间间隔,我们可以确定连接的速度。 此程序可以使用于 asp+asp.net 虚拟主机,时代互联(www.now.net.cn)的虚拟主机可以支持 。虚拟主机的其他的配置问题,可以见:www.now.net.cn/host 主机+域名+邮箱 的优惠套餐,可以见 : http://www.now.net.cn/special/host.net 使用方法 ping [/r] 主机名 [/r] 可选属性,决定是否连续的 ping 远程主机。 下面是代码: ///ping.cs namespace SaurabhPing { using System; using System.Net; using System.Net.Sockets; /// /// 主要的类:ping /// class Ping { //声明几个常量 const int SOCKET_ERROR = -1; const int ICMP_ECHO = 8; /// /// 这里取得Hostname参数 /// public static void Main(string[] argv) { if(argv.Length==0) { //If user did not enter any Parameter inform him Console.WriteLine("Usage:Ping /r") ; Console.WriteLine(" The name of the Host who you want to ping"); Console.WriteLine("/r Ping the host continuously") ; } else if(argv.Length==1) { //Just the hostname provided by the user //call the method "PingHost" and pass the HostName as a parameter PingHost(argv[0]) ; } else if(argv.Length==2) { //the user provided the hostname and the switch if(argv[1]=="/r") { //loop the ping program while(true) { //call the method "PingHost" and pass the HostName as a parameter PingHost(argv[0]) ; } } else { //if the user provided some other switch PingHost(argv[0]) ; } } else { //Some error occurred Console.WriteLine("Error in Arguments") ; } } /// /// 主要的方法,用来取得IP, /// 并计算响应时间 /// public static void PingHost(string host) { //Declare the IPHostEntry IPHostEntry serverHE, fromHE; int nBytes = 0; int dwStart = 0, dwStop = 0; //Initilize a Socket of the Type ICMP Socket socket = new Socket(AddressFamily.AfINet, SocketType.SockRaw, ProtocolType.ProtICMP); // Get the server endpoint try { serverHE = DNS.GetHostByName(host); } catch(Exception) { Console.WriteLine("Host not found"); // fail return ; } // Convert the server IP_EndPoint to an EndPoint IPEndPoint ipepServer = new IPEndPoint(serverHE.AddressList[0], 0); EndPoint epServer = (ipepServer); // Set the receiving endpoint to the client machine fromHE = DNS.GetHostByName(DNS.GetHostName()); IPEndPoint ipEndPointFrom = new IPEndPoint(fromHE.AddressList[0], 0); EndPoint EndPointFrom = (ipEndPointFrom); int PacketSize = 0; IcmpPacket packet = new IcmpPacket(); // Construct the packet to send packet.Type = ICMP_ECHO; //8 packet.SubCode = 0; packet.CheckSum = UInt16.Parse("0"); packet.Identifier = UInt16.Parse("45"); packet.SequenceNumber = UInt16.Parse("0"); int PingData = 32; // sizeof(IcmpPacket) - 8; packet.Data = new Byte[PingData]; //Initilize the Packet.Data for (int i = 0; i < PingData; i++) { packet.Data[i] = (byte)'#'; } //Variable to hold the total Packet size PacketSize = PingData + 8; Byte [] icmp_pkt_buffer = new Byte[ PacketSize ]; Int32 Index = 0; //Call a Method Serialize which counts //The total number of Bytes in the Packet Index = Serialize( packet, icmp_pkt_buffer, PacketSize, PingData ); //Error in Packet Size if( Index == -1 ) { Console.WriteLine("Error in Making Packet"); return ; } // now get this critter into a UInt16 array //Get the Half size of the Packet Double double_length = Convert.ToDouble(Index); Double dtemp = Math.Ceil( double_length / 2); int cksum_buffer_length = Convert.ToInt32(dtemp); //Create a Byte Array UInt16 [] cksum_buffer = new UInt16[cksum_buffer_length]; //Code to initialize the Uint16 array int icmp_header_buffer_index = 0; for( int i = 0; i < cksum_buffer_length; i++ ) { cksum_buffer[i] = BitConverter.ToUInt16(icmp_pkt_buffer,icmp_header_buffer_index); icmp_header 以上代码可以直接在时代互联的ASP+ASP.NET 虚拟主机上直接运行,欢迎试用 !到www.now.net.cn/host 订购后可试用 ! 关于ASP+ASP.NET高速虚拟主机,也有同时支持JSP(JAVA) 和PHP的综合虚拟主机。也可以试用,其他问题可以有免费网络电话咨询, 欢迎随时联系 http://www.now.net.cn/customer/moreline.net [img]http://b.todayisp.com/640x100.gif[/img] http://www.now.net.cn 空间介绍: http://now.net.cn/vhost/ ★静态HTML网页 ,入门学习型虚拟主,50M独立网页空间,100元/年 基本型A 380元/年 150M的网站空间, 支持JSP 增强型A 988元/年 250M的网站空间+JSP+MYSQL数据库 ★150M空间 + 100M邮局 + 域名 = 348元! 更多优惠,详情请见:http://www.now.net.cn/special/host.net 时代互联(www.now.net.cn) 的虚拟主机,免费配有 CDN 镜象网络加速 ,送域名 邮箱,流量访问系统,留言版,计数器! 虚拟主机在线订购试用,请到: http://www.now.net.cn/vhost 空间的优惠套餐可见 : http://www.now.net.cn/special/host.net 如有问题要咨询,时代互联提供免费咨询电话,点击这里: http://www.now.net.cn/customer/moreline.net QQ 联系 :168082090



关键词: Asp.net     编程     技术     见解     欢迎     进来     讨论    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]