相关疑难解决方法(0)

是否有任何C/C++库可以连接远程NTP服务器?

我正在制作一个需要将系统时钟与远程NTP服务器同步的C++软件.现在,我正在使用"system"命令调用控制台"ntpdate"命令.

..但我认为这是一种丑陋的方式.

你知道任何让我连接到远程NTP服务器的库吗?谢谢.

c++ ntp

5
推荐指数
2
解决办法
1万
查看次数

Visual C++中Windows中的基本NTP客户端

美好的一天,

我正在尝试实现一个非常基本的NTP客户端,这样我就可以查询远程NTP服务器(即:) pool.ntp.org的互联网时间,以便在每次启动时自动设置我的Windows开发板上的时间.

我在这里重构了另一个用户的代码:

使用sntp从服务器获取时间/日期(windows c ++)

但该计划在该recv()行动中悬而未决.DNS解析和send()操作似乎没有任何问题.

有谁知道我在Windows中可以找到一个简单的NTP客户端示例(GPL是首选,但此时会做任何事情),或者他们可以评论为什么以下代码块会挂起示例(我不应该说"挂",它似乎永远不会收到回应).

NTP_CLIENT.CPP

/******************************************************************************
 * Project Headers
 *****************************************************************************/
#include "stdafx.h"
#include "ntp_client.h"

/******************************************************************************
 * System Headers
 *****************************************************************************/
#include <winsock2.h>
#include <winsock.h>
#include <ws2tcpip.h>


/******************************************************************************
 * Preprocessor Directives and Macros
 *****************************************************************************/


/******************************************************************************
 * Class Member Function Definitions
 *****************************************************************************/
void Timestamp::ReverseEndian(void) {
    ReverseEndianInt(seconds);
    ReverseEndianInt(fraction);
}

time_t Timestamp::to_time_t(void) {
    return (seconds - ((70 * 365 + 17) * 86400))&0x7fffffff;
}

void NTPMessage::ReverseEndian(void) {
    ref.ReverseEndian();
    orig.ReverseEndian();
    rx.ReverseEndian();
    tx.ReverseEndian();
}

int NTPMessage::recv(int sock) …
Run Code Online (Sandbox Code Playgroud)

c++ windows time ntp visual-c++

3
推荐指数
1
解决办法
8478
查看次数

标签 统计

c++ ×2

ntp ×2

time ×1

visual-c++ ×1

windows ×1