救急,VB如何判断与服务器电脑连接状态?
知道服务器电脑IP和密码,如何用VB判断连接状态?
在网上搜了一些贴子,有用WINSOCK控件的判断网卡工作状态,这种方法对我来说不可取,请教各位大虾有没其他好的方法来判断?
说明:是服务器电脑,不是SQL数据库,能判断连接状态即可!
[解决办法]
简单的方法就是Ping主机,比如:
shell "ping 192.168.11.1 > c:\plog.txt "
然后分析plog.txt中的内容即可
用API的网上搜索一下,示例代码有许多
[解决办法]
Option Explicit
Private Type QOCINFO
dwSize As Long
dwFlags As Long
dwInSpeed As Long
dwOutSpeed As Long
End Type
Private Const NETWORK_ALIVE_LAN As Long = &H1 ' LAN
Private Const NETWORK_ALIVE_WAN As Long = &H2 ' RAS
Private Const NETWORK_ALIVE_AOL As Long = &H4 ' AOL (Win95/98)
Private Declare Function IsDestinationReachable Lib "sensapi.dll " _
Alias "IsDestinationReachableA " _
(ByVal lpszDestination As String, _
lpQOCInfo As QOCINFO) As Long
Public Function IsNetConnectionAlive(ByVal strIP As String) As Boolean
Dim result As Long
Dim qoc As QOCINFO
qoc.dwSize = Len(qoc)
result = IsDestinationReachable(strIP, qoc) '测试IP
IsNetConnectionAlive = qoc.dwFlags
End Function
[解决办法]
"连接状态 ",那需要与服务器通讯.
PING方面,如果服务器禁PING了就没用
个人认为最好的办法是定期向服务器发送一个心跳包
[解决办法]
'知道服务器电脑IP和密码,如何用VB判断连接状态?
shell "net use Z: '服务器电脑IP\IPC$ ' '密码 ' 、USER: 'username ' "
...............
[解决办法]
老马的方法不错
假如一定实践内没有收到心跳 就判为断线