嵌入式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"
%>