Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 2
Регистрация: 24.12.2017
Сообщений: 50
1

Подключение к серверам NTP

09.05.2018, 16:22. Показов 772. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Требовалось написать программу подключения к серверам NTP
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#define _CRT_SECURE_NO_WARNINGS
#define _WINSOCK_DEPRECATED_NO_WARNINGS
#include <iostream>
#include <winsock2.h>
#include <ctime>
 
#pragma comment(lib, "ws2_32.lib")
 
void ntpdate()
{
    int portno = 123;
    const int maxlen = 1024;
    int i;
    unsigned char msg[48] = { 010,0,0,0,0,0,0,0,0 };
    unsigned long buf[maxlen];
    struct protoent *proto;
    struct sockaddr_in server_addr;
    int s; 
    long tmit; 
    proto = getprotobyname("udp");
    s = socket(PF_INET, SOCK_DGRAM, proto->p_proto);
    memset(&server_addr, 0, sizeof(server_addr));
    server_addr.sin_family = AF_INET;
    server_addr.sin_addr.s_addr = inet_addr("23.101.187.68");
    server_addr.sin_port = htons(portno);
    i = sendto(s, (const char*)msg, sizeof(msg), 0, (struct sockaddr *)&server_addr, sizeof(server_addr));
    struct sockaddr saddr;
    int fromlen = sizeof(saddr);
    i = recvfrom(s, (char*)buf, 48, 0, &saddr, &fromlen);
    tmit = ntohl((time_t)buf[4]); //# get transmit time
    tmit -= 2208988800U;
    std::cout << "NTP time is " << ctime((const time_t *)tmit) << std::endl;
    i = time(0);
    std::cout << "System time is " << (i - tmit) << " seconds off" << std::endl;
}
int main() {
 
    WSADATA wsaData;
    if (!WSAStartup(MAKEWORD(2, 2), &wsaData))
        ntpdate();
    return 0;
}
При запуске программы, она зацикливается в строке 29 и не возвращает значения. Код используется исключительно как пример подключения, взят на просторах интернета
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.05.2018, 16:22
Ответы с готовыми решениями:

Подключение к серверам NTP
Возникла проблема с подключением: ни к одному известному мне серверу не подключается #include...

Подключение к 2 серверам Oracle805
В сети есть 2 сервера Оракл.Хочу писать запросы использующие таблицы из 2 серверов.В одном...

SSMS подключение к двум серверам
Привет!! Давненько я тут у вас не бывал :) Решил обновить MSSQL с 2014 до 2016. Вобщем установил...

Подключение к ftp и http серверам
Здравствуйте. Хочу написать такую небольшую прогу. Есть форма. На ней пользователь вводит адрес...

0
09.05.2018, 16:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.05.2018, 16:22
Помогаю со студенческими работами здесь

Js файл - азы: подключение внешнего .js файла к серверам
Всем доброго. С JavaScript столкнулся недавно, при тестировании сайта на Блогспот. На данную...

ntp server
Здраствуйте ище раз! Хочу спросить у знающих людей, я настроил ntp сервер но как проверить что он...

NTP timestamp
Честно говоря незнаю, в какую ветку лучше писать... В общем задача - синхронизировать дату по NTP...

ntp на Catalyst3560
Добрый день! В сети имеется сервер эталонного времени, который синхронизируется с часами в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru