| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 873 人关注过本帖
标题:无法获取ntp时间,如何解决?
只看楼主 加入收藏
yuma
Rank: 12Rank: 12Rank: 12
来 自:银河系
等 级:贵宾
威 望:37
帖 子:1934
专家分:3012
注 册: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: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:38
帖 子:129
专家分:772
注 册:2023-1-12
收藏
得分:0 
F8一行一行的执行程序,看看在哪里遇到问题,每一行执行后看看相关变量的值,是否符合预期。
2023-03-22 11:06
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:216
帖 子:1506
专家分:9241
注 册:2010-3-16
收藏
得分:0 
Connect后判断下连接状态,再发送数据。
2023-03-22 11:15
快速回复:无法获取ntp时间,如何解决?
数据加载中...
 
   



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

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