中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS媒体世界 & 网络技术 (多媒体室) » Asp.net编程技术见解,欢迎进来讨论!
作者:
标题: Asp.net编程技术见解,欢迎进来讨论! 上一主题 | 下一主题
sunneree
贫困用户





积分 -2
发帖 1
注册 2006-5-30
状态 离线
『楼 主』:  Asp.net编程技术见解,欢迎进来讨论! 使用 LLM 解释一下

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

即日起在时代互联购买虚拟主机可免费获赠域名。享受免费的域名餐,何乐而不为呢?

一、凡购买时代互联HTML基本型虚拟主机、基本型虚拟主机可获得价值59元的域名优惠券。

二、凡购买时代互联增强型虚拟主机,即可获赠118元的域名优惠券。

PING 是一个用来检测网络连接速度的工具,它会在本机和给出的远程主机名之间建立一个SOCKET 连接并向其发送一个ICMP协议格式的数据包,然后远程主机作出响应,发回一个数据包,通过计算发送到接收数据包的时间间隔,我们可以确定连接的速度。

此程序可以使用于 asp+asp.net 虚拟主机,时代互联(www.now.cn)的虚拟主机可以支持 。

使用方法 ping <hostname>

<hostname> 主机名

可选属性,决定是否连续的 ping 远程主机。

下面是代码:

///ping.cs

namespace SaurabhPing

{

using System;

using System.Net;

using System.Net.Sockets;

/// <summary>

/// 主要的类:ping

/// </summary>

class Ping

{

//声明几个常量

const int SOCKET_ERROR = -1;

const int ICMP_ECHO = 8;

/// <summary>

/// 这里取得Hostname参数

/// </summary>

public static void Main(string argv)

{

if(argv.Length==0)

{

//If user did not enter any Parameter inform him

Console.WriteLine("Usage:Ping <hostname> /r") ;

Console.WriteLine("<hostname> 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) ;

}

else if(argv.Length==2)

{

//the user provided the hostname and the switch

if(argv=="/r")

{

//loop the ping program

while(true)

{

//call the method "PingHost" and pass the HostName as a parameter

PingHost(argv) ;

}

}

else

{

//if the user provided some other switch

PingHost(argv) ;

}

}

else

{

//Some error occurred

Console.WriteLine("Error in Arguments") ;

}

}


/// <summary>

/// 主要的方法,用来取得IP,

/// 并计算响应时间

/// </summary>

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);

EndPoint epServer = (ipepServer);


// Set the receiving endpoint to the client machine

fromHE = DNS.GetHostByName(DNS.GetHostName());

IPEndPoint ipEndPointFrom = new IPEndPoint(fromHE.AddressList, 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;

//Initilize the Packet.Data

for (int i = 0; i < PingData; i++)

{

packet.Data = (byte)'#';

}

//Variable to hold the total Packet size

PacketSize = PingData + 8;

Byte icmp_pkt_buffer = new Byte;

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;

//Code to initialize the Uint16 array

int icmp_header_buffer_index = 0;

for( int i = 0; i < cksum_buffer_length; i++ ) {

cksum_buffer =

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.cn

空间介绍: http://www.now.cn/vhost/

★静态HTML网页 ,入门学习型虚拟主,50M独立网页空间,100元/年

基本型A 500元/年 150M的网站空间, 支持JSP

增强型A 1100元/年 250M的网站空间+JSP+MYSQL数据库

时代互联(www.now.cn) 的虚拟主机,免费配有 CDN 镜象网络加速 ,送域名 邮箱,流量访问系统,留言版,计数器!

优惠套餐:http://www.now.cn/special/host.net

虚拟主机在线订购试用,请到: http://www.now.cn/vhost QQ 联系 :168082090

如有问题要咨询,时代互联提供免费咨询电话,点击这里: http://www.now.cn/customer/moreline.net


2006-5-30 10:45
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: