回复5楼
1、不要经常调用
2、加入判断
Dim 时间服务器 As String(,) = New String(13, 1) {}
Dim 搜索顺序 As Integer() = New Integer() {3, 2, 4, 8, 9, 6, _
11, 5, 10, 0, 1, 7, _
12}
时间服务器(0, 0) = "time-a.nist.gov"
时间服务器(0, 1) = "129.6.15.28"
时间服务器(1, 0) = "time-b.nist.gov"
时间服务器(1, 1) = "129.6.15.29"
时间服务器(2, 0) = "time-a.timefreq.bldrdoc.gov"
时间服务器(2, 1) = "132.163.4.101"
时间服务器(3, 0) = "time-b.timefreq.bldrdoc.gov"
时间服务器(3, 1) = "132.163.4.102"
时间服务器(4, 0) = "time-c.timefreq.bldrdoc.gov"
时间服务器(4, 1) = "132.163.4.103"
时间服务器(5, 0) = "utcnist.colorado.edu"
时间服务器(5, 1) = "128.138.140.44"
时间服务器(6, 0) = "time.nist.gov"
时间服务器(6, 1) = "192.43.244.18"
时间服务器(7, 0) = "time-nw.nist.gov"
时间服务器(7, 1) = "131.107.1.10"
时间服务器(8, 0) = "nist1.symmetricom.com"
时间服务器(8, 1) = "69.25.96.13"
时间服务器(9, 0) = "nist1-dc.glassey.com"
时间服务器(9, 1) = "216.200.93.8"
时间服务器(10, 0) = "nist1-ny.glassey.com"
时间服务器(10, 1) = "208.184.49.9"
时间服务器(11, 0) = "nist1-sj.glassey.com"
时间服务器(11, 1) = "207.126.98.204"
时间服务器(12, 0) = "nist1.aol-ca.truetime.com"
时间服务器(12, 1) = "207.200.81.113"
时间服务器(13, 0) = "nist1.aol-va.truetime.com"
时间服务器(13, 1) = "64.236.96.53"
Dim portNum As Integer = 13
Dim hostName As String
Dim bytes As Byte() = New Byte(1023) {}
Dim bytesRead As Integer = 0
Dim client As New System.Net.Sockets.TcpClient()
Dim str1 As String
Dim count As Integer = 0
Do
For i As Integer = 0 To 12
hostName = 时间服务器(搜索顺序(i), 1)
Try
client.Connect(hostName, portNum)
Dim ns As System.Net.Sockets.NetworkStream = client.GetStream()
bytesRead = ns.Read(bytes, 0, bytes.Length)
client.Close()
Exit For
Catch generatedExceptionName As System.Exception
End Try
Next
str1 = System.Text.Encoding.ASCII.GetString(bytes, 0, bytesRead)
count += 1
Loop While count < 10 AndAlso str1 Is Nothing
If str1 Is Nothing Then
msgbox("网络繁忙,请稍后再试")
Else
Dim sp As Char() = New Char(0) {}
sp(0) = " "c
Dim dt As System.DateTime = New DateTime()
Dim s As String()
s = str1.Split(sp)
dt = System.DateTime.Parse(s(1) & " " & s(2))
'得到标准时间
dt = dt.AddHours(8)
'得到北京时间
Messagebox.show( dt)
End If