标题:无法获取ntp时间,如何解决?
只看楼主
yuma
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:银河系
等 级:贵宾
威 望:33
帖 子:1883
专家分:2904
注 册:2009-12-22
结帖率:89.13%
 问题点数:0 回复次数:2 
无法获取ntp时间,如何解决?
程序代码:
Private Sub Command1_Click()
    '连接NTP服务器
    Dim ntpServer As String
    ntpServer = "pool." '可以替换为其他NTP服务器地址
    Winsock1.RemoteHost = ntpServer
    Winsock1.RemotePort = 123
    Winsock1.Connect
    
    '发送NTP请求
    Dim request(47) As Byte
    request(0) = &H1B
    Winsock1.SendData request, 48, 0
    
    '等待NTP响应
    Do While Winsock1.State <> sckClosed
        DoEvents
    Loop
    
    '解析NTP响应
    Dim response(47) As Byte
    Winsock1.GetData response, vbArray + vbBinary
    Dim seconds As Long
    seconds = CLng(response(40)) * 2 ^ 24 + CLng(response(41)) * 2 ^ 16 + CLng(response(42)) * 2 ^ 8 + CLng(response(43))
    Dim ntpTime As Date
    ntpTime = DateAdd("s", seconds - 2208988800#, "1/1/1900")
    
    '显示NTP时间
    MsgBox "NTP时间:" & ntpTime
End Sub
搜索更多相关主题的帖子: 时间 request 获取 response Dim 
2023-03-21 13:51
阳光上的桥
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:25
帖 子:82
专家分:525
注 册:2023-1-12
得分:0 
F8一行一行的执行程序,看看在哪里遇到问题,每一行执行后看看相关变量的值,是否符合预期。
2023-03-22 11:06
apull
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:三体星系
等 级:版主
威 望:185
帖 子:1404
专家分:8479
注 册:2010-3-16
得分:0 
Connect后判断下连接状态,再发送数据。
2023-03-22 11:15



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-511623-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.258357 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved