日期:2014-05-17  浏览次数:20828 次

WEB页面如何实现PING网络诊断?
嵌入式WEB开发

最近开发需要,添加WEB页面实现网络诊断,即显示ping 192.168.1.100 的结果。

添加三个文本框,一个接收PING的IP地址,另一个接收发包个数,还一个显示PING结果,两个按钮分别是提交和重置

问题一:要实现PING的效果就要局部刷新WEB页面(PING的结果),如何实现;
问题二:如何动态的获取PING的返回结果。

------解决方案--------------------
使用WSH调用系统的Ping命令,将Ping的结果重定向到一个文本文件中去,再把文本文件显示到网页中

具体做法如下:首先,建一个.BAT文件(例如:myPing.BAT:),这个文件要在ASP中调用,文件代码如下:
ping -a %1 > d:INetPubcgi-bin%2.txt 
(%1)是将来要ping的地址, (%2)是存储ping结果的文件.

以下是ASP的代码:
  <%
Set FileSys = Server.CreateObject("Scripting.FileSystemObject")
FileName = FileSys.GetTempName
  Set WShShell = Server.CreateObject("WScript.Shell")
  IP = "xxx.xxx.xxx.xxx" '你要ping的地址RetCode = WShShell.Run("d:Inetpubcgi-binmyPing.bat " & IP & " " & FileName, 1, True)
  if RetCode = 0 Then '没有错误
else
Response.Redirect "PingErrors.htm"
end if
  Set TextFile = FileSys.OpenTextFile ("d:InetPubcgi-bin" & FileName & ".txt", 1)
TextBuffer = TextFile.ReadAll
  For i = 1 to Len(TextBuffer)
  If Mid(TextBuffer,i,1) = chr(13) Then
   Response.Write("<BR>")
  else
   Response.Write(Mid(TextBuffer,i,1))
  end if
  Next
  TextFile.Close
  FileSys.DeleteFile "d:Inetpubcgi-bin" & FileName & ".txt"
  %>