bsp;Command1.Enabled = True
StatusBar1.SimpleText = "准备搜索"
End Sub
④自定义 SearchComputer 函数,用来判断指定 IP 地址的计算机是否可以控制
Private Function SearchComputer(ByVal ip As String) As Boolean `自定义函数,判断指定 IP 地址的计算机是否可以控制
On Error Resume Next `在 Win98 下测试时,有时间会出现“没有可用的缓冲空间”的错误,而在 Win2000 下测试时则不会出现该错误,因此为了防止程序出现致命的错误,就用了这个 On Error Resume Next
Dim PauseTime, Start As Long `定义暂停的时间,及开始斩停的时间
Winsock1.Close `关闭 TCP 连接,以便下次连接
Winsock1.Protocol = sckTCPProtocol `使用 TCP 协议
Winsock1.RemotePort = Val(Text1(0).Text) `要连接的远程计算机的端口,一般不要改变,因为在下面制做的服务器端的程序中,就是监视本程序的默认端口 Winsock1.RemoteHost = ip `要连接的远程计算机的名称,也可以是 IP 地址
Winsock1.Connect `要求连接到远程计算机
PauseTime = Val(Text1(1).Text) / 1000 ` 设置延迟时间,把毫秒转换为秒。
Start = Timer ` 设置开始暂停的时刻
Do While Timer < Start + PauseTime
DoEvents `转让控制权,以便让操作系统处理其它的事件。
`在设置的延迟时间内,连接远程的计算机
Loop
`Loop Until Winsock1.State = sckConnected Or Winsock1.State = sckError `也可以为永远的连接远程的计算机,除非发生错误或连接成功才退出
If Winsock1.State = sckError Then SearchComputer = False `连接错误
If Winsock1.State = sckConnected Then
SearchComputer = True `连接成功
Winsock1.SendData "Call" `向服务端的程序发送信息,以通知需要进行连接,如果服务端程序有响应则会发回相应的信息
PauseTime = 1 ` 设置延迟时间
Start = Timer ` 设置开始暂停的时刻
Do While Timer < Start + PauseTime
DoEvents `转让控制权,以便让操作系统处理其它的事件。
`让服务端的程序有足够的时间处理 Winsock1.SendData "Call"
Loop
End If
End Function
⑤接受服务端程序发出的信息,从中取出所需要