IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Synchroniser l'heure et la date


Sujet :

C++

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2008
    Messages : 111
    Par défaut Synchroniser l'heure et la date
    Bonjour à tous,

    Je dois synchroniser l'heure et la date mon PC avec un PC de supervision présent sur le réseaux. En ayant son adresse IP je dois me synchroniser avec lui.
    J'ai trouver ça sur internet mais ça ne m'aide pas beaucoup:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SYSTEMTIME starttime, curtime;
     
    GetLocalTime(&starttime);
    curtime.wSecond = starttime.wSecond;
     
    while(curtime.wSecond == starttime.wSecond)
        GetLocalTime(&curtime);
     
    SetTimer(hWnd, 0, 1000, 0);


    Merci d'avance

  2. #2
    Membre chevronné
    Avatar de Florian Goo
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    680
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 680
    Par défaut
    Bonjour,

    Pour ce genre de choses, on utilise le protocole NTP.
    Cours : Initiation à CMake
    Projet : Scalpel, bibliothèque d'analyse de code source C++ (développement en cours)
    Ce message a été tapé avec un clavier en disposition bépo.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2008
    Messages : 111
    Par défaut
    Cela se passe comment en C++ pour utiliser ce protocole. J'ai fait des recherches mais je ne trouve pas comment l'exploiter. Il y a une commande dos: net time, mais je ne sais pas si c'est possible d'utiliser cette commande et de récupérer la valeur.

    Après il faudrait que je modifie l'heure du PC, mais en faisant tout ça est-ce que ma synchronisation va être correcte.

  4. #4
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    La synchronisation horaire des machines est plus un problème d'administration de la machine que un problème de developpement (sauf si tu dois développer un programme de synchronisation).

    Vu ce que tu dis, je suppose que tu es sur une machine Windows. Donc, double clique sur l'horloge dans la barre de tâches en bas à droite et sélectionne l'onglet "Temps Internet", dans cet onglet, tu édites, tu supprimes ce que tu veux et tu ajoutes ton serveur de temps et ensuite tu clique sur le bouton "mettre à jour".
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2008
    Messages : 111
    Par défaut
    Merci pour l'information. oui je suis sur windows, j'ai oublié de le préciser...(t'es trop fort )

    Ce que je dois faire est simple, suite à une commande en voyé sur le protocole SNMP, je dois synchroniser l'heure et la date avec le PC de supervision.

    Pour l'instant ma solution est de faire un net time en DOS, de récupérer la valeur de retour et de faire SetLocalTime avec cette valeur.

    Par contre je n'ai pas toujours trouver comment faire pour récupérer la valeur de ma commande DOS en C++.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2008
    Messages : 111
    Par défaut
    J'ai trouvé un exemple pour récupérer la valeur mais je sais pas si ça marche.
    Je testerai ça demain, pour l'instant je fais de la collecte d'information...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
    char *buffer;
    int size;
    CONSOLE_SCREEN_BUFFER_INFO info;
    COORD startpos = {0, 0};
     
    system("ipconfig ");
     
    GetConsoleScreenBufferInfo(hOut, &info);
     
    size = (info.dwCursorPosition.X + (info.dwCursorPosition.Y*info.dwSize.X));
     
    buffer = malloc(size+1);
     
    ReadConsoleOutputCharacter(hOut, buffer, size, startpos, &size);
    buffer[size] = 0;
     
    printf("%s\n", buffer);
     
    free(buffer);

  7. #7
    Membre chevronné
    Avatar de Florian Goo
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    680
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 680
    Par défaut
    Je pense que le plus simple serait que tu trouves un client NTP pour Windows en ligne de commande. Ainsi, un petit system() et le tour sera joué !

    Il n'y a pas d'équivalent de ntpdate sous Windows ?
    Cours : Initiation à CMake
    Projet : Scalpel, bibliothèque d'analyse de code source C++ (développement en cours)
    Ce message a été tapé avec un clavier en disposition bépo.

  8. #8
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Et un service qui met périodiquement à l'heure le système, c'est pas mieux ?
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  9. #9
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Bonjour,
    Apparemment, ici, tu as une implémentation de client NTP en MFC. Je ne sais pas ce que ça vaut, mais ça peut être une première piste.
    , des infos pour configurer ton client NTP sous Windows.

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2008
    Messages : 111
    Par défaut
    Citation Envoyé par ram-0000 Voir le message
    Et un service qui met périodiquement à l'heure le système, c'est pas mieux ?
    Je pense que si mais le client veut que cela se fasse de manière asynchrone, c'est le PC de supervision qui décide de la supervision.

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2008
    Messages : 111
    Par défaut
    Citation Envoyé par 3DArchi Voir le message
    Bonjour,
    Apparemment, ici, tu as une implémentation de client NTP en MFC. Je ne sais pas ce que ça vaut, mais ça peut être une première piste.
    , des infos pour configurer ton client NTP sous Windows.
    Merci, je vais regarder. Cela sera plus par curiosité personnelle car je développe sous RAD Studio C++ (borland), donc les MFC....
    Merci comme même

Discussions similaires

  1. extraire l'heure ou la date
    Par tounsi dans le forum Langage SQL
    Réponses: 3
    Dernier message: 30/12/2005, 12h12
  2. Modifier l'heure et la date d'une machine sur le réseau -VB6
    Par GEGER dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 25/11/2005, 19h41
  3. Synchroniser l'heure de PC sous Windows
    Par bbkenny dans le forum Windows Serveur
    Réponses: 7
    Dernier message: 25/11/2005, 09h31
  4. Durée en jour, minute et heure entre 2 dates
    Par nora_ora dans le forum Oracle
    Réponses: 7
    Dernier message: 10/08/2005, 22h47
  5. [Tomcat - Servlet] Récupérer l'heure et la date
    Par david71 dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 01/02/2005, 15h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo