English Sentence Loading...
英语句子加载中...
Ping用VB实现的主要算法
作者:junyuqin 日期:2007-04-18
Ping 命令通过向计算机发送 ICMP 回应报文并且监听回应报文的返回,以校验与远程计算机或本地计算机的连接。对于每个发送报文, Ping 最多等待 1 秒,并打印发送和接收把报文的数量。比较每个接收报文和发送报文,以校验其有效性。
ping 函数 Ping()
{
判断Sockets有无初始化 SocketsInitialize()
{
初始化
{
目标IP地址
数据报文
打开协议端口 API操作
发送ICMP回应报文
监听回应报文 IcmpSendEcho()
{
如果 ping 成功
返回状态0
否则
返回报文状态的-1倍
}
处理报文的挂起事件 PingReturn()
关闭网间协议 IcmpCloseHandle()
Sockets清理SocketsCleanup
}
没有初始化
返回失败信息 PingReturn()
}
}
Sockets初始化函数 SocketsInitialize()
{
调用API WSAStarup返回IP成功
}
取得目标IP地址 函数
{
WWW--->IP函数 funcIsIpAddress()
IP地址转换函数 AddressStringToLong()
}
WWW--->IP函数 funcIsIpAddress()
{
判断输入的WWW地址左边是什么形式
{
有www.或者http://www.字符
{
去除www.或者http://www.
判断剩下的地址
{
是IP
直接返回
不是IP
通过主机名取得IP函数 funcGetIPFromHostName()
}
}
没有www.或者http://www.字符
{
判断剩下的地址
{
是IP
直接返回
不是IP
通过主机名取得IP函数 funcGetIPFromHostName()
}
}
}
取得状态码函数 GetStatusCode()
{
IP_SUCCESS
返回"成功"
否则
返回"失败"
}
Ping返回信息事件 PingReturn()
{
IP地址 ipAddress
成功状态 successStatus
存在时间 roundTripMilliseconds
}
ping 函数 Ping()
{
判断Sockets有无初始化 SocketsInitialize()
{
初始化
{
目标IP地址
数据报文
打开协议端口 API操作
发送ICMP回应报文
监听回应报文 IcmpSendEcho()
{
如果 ping 成功
返回状态0
否则
返回报文状态的-1倍
}
处理报文的挂起事件 PingReturn()
关闭网间协议 IcmpCloseHandle()
Sockets清理SocketsCleanup
}
没有初始化
返回失败信息 PingReturn()
}
}
Sockets初始化函数 SocketsInitialize()
{
调用API WSAStarup返回IP成功
}
取得目标IP地址 函数
{
WWW--->IP函数 funcIsIpAddress()
IP地址转换函数 AddressStringToLong()
}
WWW--->IP函数 funcIsIpAddress()
{
判断输入的WWW地址左边是什么形式
{
有www.或者http://www.字符
{
去除www.或者http://www.
判断剩下的地址
{
是IP
直接返回
不是IP
通过主机名取得IP函数 funcGetIPFromHostName()
}
}
没有www.或者http://www.字符
{
判断剩下的地址
{
是IP
直接返回
不是IP
通过主机名取得IP函数 funcGetIPFromHostName()
}
}
}
取得状态码函数 GetStatusCode()
{
IP_SUCCESS
返回"成功"
否则
返回"失败"
}
Ping返回信息事件 PingReturn()
{
IP地址 ipAddress
成功状态 successStatus
存在时间 roundTripMilliseconds
}
评论: 0 | 引用: 0 | 查看次数: 2831