使用sntp从服务器获取时间/日期(windows c)
发布时间:2020-12-14 01:56:04 所属栏目:Windows 来源:网络整理
导读:我在c / c中搜索一个工作代码,它从服务器获取时间和日期(ntp.belnet.be).它适用于UDP并使用端口123. 有人可以帮忙吗? //sending pakketmemset(sntp_msg_header,sizeof sntp_msg_header);sntp_msg_header.flags = 27;sntp_msg_header.originate_timestamp_se
我在c / c中搜索一个工作代码,它从服务器获取时间和日期(ntp.belnet.be).它适用于UDP并使用端口123.
有人可以帮忙吗? //sending pakket memset(&sntp_msg_header,sizeof sntp_msg_header); sntp_msg_header.flags = 27; sntp_msg_header.originate_timestamp_secs = time(NULL); // Get data in rxmsg ... ... // print time timeval = ntohl(rxmsg.transmit_timestamp_secs) - ((70ul * 365ul + 17ul) * 86400ul); printf("%s",ctime(&timeval)); 这就是我到目前为止所拥有的.但我无法从中获得正确的数据. 如果发现这个: import socket import struct import sys import time TIME1970 = 2208988800L # Thanks to F.Lundh client = socket.socket( socket.AF_INET,socket.SOCK_DGRAM ) data = 'x1b' + 47 * ' ' client.sendto( data,( sys.argv[1],123 )) data,address = client.recvfrom( 1024 ) if data: print 'Response received from:',address t = struct.unpack( '!12I',data )[10] t -= TIME1970 print 'tTime=%s' % time.ctime(t) 但它是在python中.有人可以将此更改为c或是否有转换器? 解决方法
这就是我使用的.它不是很优雅,但应该足以让这个想法得以实现.基本思想是拥有一个与网络发送和接收的结构相匹配的结构.反向字节序最初并不明显.值得一提的是,这几乎没有对错误条件有用.你想解决这个问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 软件测试day1
- windows-server-2008 – 返回HTTP 503的Microsoft SSTP VPN
- windows-phone-7 – 如何在wp7中使用多行文本块?
- 如何知道$(window).load();来自jquery的状态
- 最详细的Windows平台安装MongoDB教程
- windows – mklink的一些GUI?
- .net – MEF从文件夹中加载插件(dll)不在执行程序集但是另一
- 在.net framework 4.0下运行.net framework 1.1程序
- 在Windows 7上启用MySQL 5查询日志
- windows-installer – InstallShield如何永不覆盖文件