當前位置:編程學習大全網 - 編程語言 - vb6如何判斷網站的延遲時間?

vb6如何判斷網站的延遲時間?

選項顯式

私有常量MIN_SOCKETS_REQD As Long = 1

私有常量WS _ VERSION _ REQD As Long = & ampH101

私有常量WS _ VERSION _ MAJOR As Long = WS _ VERSION _ REQD \ & amp;H100和& ampHFF & amp;

私有常量WS _ VERSION _ MINOR As Long = WS _ VERSION _ REQD And & amp;HFF & amp;

私有聲明函數WSAStartupInfo Lib "WSOCK32 "別名" wsa startup "(ByVal wVersionRequested As Integer,lpWSADATA As WSAData)為Long

私有聲明函數WSAGetLastError Lib "WSOCK32 "()為Long

私有聲明函數inet _ addr Lib“ws2 _ 32 . dll”(ByVal CP作為字符串)為Long

私有聲明函數get hostname Lib " wsock 32 "(ByVal SZ host為String,ByVal dwHostLen為Long)為Long

private Declare Sub CopyMemoryIP Lib " kernel 32 " Alias " RtlMoveMemory "(HPV dest As Any,ByVal hpvSource As Long,ByVal cbCopy As Long)

Ping功能

私有常量ERROR_SUCCESS = 0

私有常量SOCKET_ERROR = -1

私有類型WSAData

整數形式的wVersion

整數形式的wHighVersion

字節形式的szDescription(0到255)

以字節表示的szSystemStatus(0到128)

整數形式的iMaxSockets

iMaxUdpDg為整數

lpVendorInfo為Long

結束類型

私人型寄宿者

名字壹樣長

hAliases壹樣長

hAddrType為整數

hLen為整數

hAddrList As Long

結束類型

私有類型IP選項信息

TTL作為字節

Tos為字節

標誌為字節

選項盡可能長

OptionsData As String * 128

結束類型

私有類型IP_ECHO_REPLY

以字節表示的地址(0至3)

狀態為長

往返時間壹樣長

數據大小為整數

保留為整數

數據長度

作為IP_OPTION_INFORMATION的選項

結束類型

私有聲明函數gethostbyname Lib " wsock 32 . dll "(ByVal HostName作為字符串)為Long

私有聲明函數wsa startup Lib " wsock 32 . dll "(ByVal wVersionRequired & amp;,lpWSADATA As WSAData)壹樣長

私有聲明函數WSACleanup Lib "wsock32.dll "()為Long

private Declare Sub copy memory Lib " kernel 32 " Alias " RtlMoveMemory "(HPV dest As Any,hpvSource As Any,ByVal cbCopy As Long)

私有聲明函數IcmpCreateFile Lib "icmp.dll "()為Long

私有聲明函數IcmpCloseHandle Lib " icmp . dll "(ByVal HANDLE As Long)為布爾值

私有聲明函數IcmpSendEcho Lib " ICMP "(ByVal ICM handle為Long、ByVal DestAddress為Long、ByVal RequestData為String、ByVal RequestSize為Integer、RequestOptns為IP_OPTION_INFORMATION、ReplyBuffer為IP_ECHO_REPLY、ByVal ReplySize為Long、ByVal Timeout為Long)為布爾值

函數Ping(strServer As String)壹樣長

將主機名隱藏為字符串

Dim hFile為Long,lpWSADATA為WSADATA

Dim hHostent為Hostent,AddrList為Long

Dim地址為長,rIP為字符串

dim opti info As IP _ OPTION _ INFORMATION

Dim EchoReply作為IP_ECHO_REPLY

HostName = strServer

調用wsa startup(& amp;H101,lpWSADATA)

If gethostbyname(主機名+字符串(64 - Len(主機名),0))& lt;& gt那麽SOCKET_ERROR

CopyMemory hHostent.hName,ByVal gethostbyname(主機名+字符串(64 - Len(主機名),0)),Len(hHostent)

CopyMemory AddrList,ByVal hHostent.hAddrList,4

復制存儲地址,ByVal AddrList,4

如果…就會結束

hFile = IcmpCreateFile()

如果hFile = 0,則

調試。打印“失敗!”"無法創建文件句柄"

退出功能

如果…就會結束

OptInfo。TTL = 255

如果IcmpSendEcho(hFile,Address,String(32," A "),32,OptInfo,EchoReply,Len(EchoReply) + 8,3000)則

rIP = CStr(EchoReply。地址(0)) +" "+ CStr(EchoReply。地址(1)) +" "+ CStr(EchoReply。地址(2)) +“”+ CStr(EchoReply。地址(3))

其他

調試。打印“超時!”超時

如果…就會結束

如果EchoReply。那麽狀態= 0

Ping = Trim$(CStr(EchoReply。往返時間))

調試。打印在"+ Trim$(CStr(EchoReply)之後收到的" Reply from " + HostName + " (" + rIP +")。round time))+"毫秒"

其他

調試。打印“獲取IP失敗...”

如果…就會結束

調用IcmpCloseHandle(hFile)

調用WSACleanup

結束功能

私有子命令1_Click()

MsgBox Ping(Text1)

末端接頭

壹個窗體窗口,壹個command1按鈕,復制代碼。

您可以在運行時文本中輸入IP地址或域名。

  • 上一篇:怎麽回答谷歌招聘面試時的“瘋狂”問題?
  • 下一篇:壹首有牟江風二字的告白詩。
  • copyright 2024編程學習大全網