文档库 最新最全的文档下载
当前位置:文档库 › vb校时

vb校时

启动VB,新建一工程,点击“工程\部件”菜单项,
'在部件对话框中选择“Microsoft Winsock Control 6.0”后确定即可。
'如果没有这个复选框,可点击[浏览]按钮后在打开的[添加ActiveX控件]
'对话框选择MSWINSCK.ocx后点击打开,再点确定即可。
'在窗体上添加一个Winsock控件

Dim St(9) As String
Dim i

Private Sub Form_Load()
'本文推荐9台速度比较快的授时服务器主机,它们的网址分别是:
St(1) = "https://www.wendangku.net/doc/a517229048.html,"
St(2) = "https://www.wendangku.net/doc/a517229048.html,"
St(3) = "https://www.wendangku.net/doc/a517229048.html,"
St(4) = "https://www.wendangku.net/doc/a517229048.html,"
St(5) = "https://www.wendangku.net/doc/a517229048.html,"
St(6) = "https://www.wendangku.net/doc/a517229048.html,"
St(7) = "https://www.wendangku.net/doc/a517229048.html,"
St(8) = "https://www.wendangku.net/doc/a517229048.html,"
St(9) = "https://www.wendangku.net/doc/a517229048.html,"


i = 1
Call Fd
End Sub

Private Sub Winsock_DataArrival(ByVal bytesTotal As Long)
Dim tmpstr, dt As String '13端口返回的是字符串数据类型!!!
Winsock.GetData tmpstr, vbString
dt = CDate(Mid$(tmpstr, 8, 17)) + 8# / 24#
Date = dt: Time = dt '校时
txtTime.Text = dt
Winsock.Close
Unload Me
End Sub

Private Sub Winsock_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
txtTime.Text = "服务器连接错误!!!" & Number
Winsock.Close
i = i + 1
If i > 9 Then i = 1
Call Fd
End Sub

Private Sub Fd()
Winsock.RemoteHost = St(i)
Winsock.Connect St(i), 13
End Sub




Winsock的主要属性、方法、事件如下:
①State属性:返回当前状态,取值如下:
sckClosed(常量为0):关闭状态
sckOpen(常量为1):打开状态
sckListening(常量为2):侦听状态
sckConnectionPending(常量为3):连接状态
sckResolvingHost(常量为4):解析主机中
sckHostResolved(常量为5):已解析主机
sckConnecting(常量为6):正在连接
sckConnected(常量为7):已经连接
sckClosing(常量为8):客户端正在关闭
sckError(常量为9):连接发生错误

②connect方法:用于客户端向远程发送一个连接请求,语法:Winsock.connect [IP,Port]

③getData方法:用于接收远程发送来的数据,语法:Winsock.getData 变量

④Close方法:关闭通信

⑤DataArrival事件:有数据到达时发生的事件,可以在这个事件中来getData发送来的数据


相关文档