Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Orario da server

  1. #1

    Orario da server

    CIao a tutti... sto provando a creare delle mie statistiche "leggere" e mi sono riscontrato con un problema:
    quando avvio la pagina leggo il time() che poi passo tramite querystring al mio sistema di statistiche che si trova su un altro server. Li becco il time() finale per sapere quando tempo ci ha messo. Il fatto è che le date dei 2 server non sono sincronizzate, quindi non si riesce ad avere una statistica (solo i siti messi sul mio server godono di questa funzionalità)
    Esiste un servizio web che posso interrogare dai 2 server per avere la data sincronizzata?
    La fantasía, abandonada de la razón, produce monstruos imposibles; unida con ella es madre de las artes y origen de las maravillas.
    (Francisco Goya)
    ----------------------------------------
    http://www.mangioebevo.it
    http://www.definitives.org

  2. #2

  3. #3
    Grazie... funziona (posto il codice)
    Codice PHP:
    function query_time_server ($timeserver$socket) {
    /* Query a time server
       (C) 1999-09-29, Ralf D. Kloth (QRQ.software) <ralf at qrq.de> */

      
    $fp fsockopen($timeserver,$socket,$err,$errstr,5);
            
    # parameters: server, socket, error code, error text, timeout
      
    if ($fp) {
        
    fputs($fp,"\n");
        
    $timevalue fread($fp,49);
        
    fclose($fp); # close the connection
      
    }
      else {
        
    $timevalue " ";
      }

      
    $ret = array();
      
    $ret[] = $timevalue;
      
    $ret[] = $err;     # error code
      
    $ret[] = $errstr;  # error text
      
    return($ret);

    # function query_time_server 

    --------------------------------------------------------------------------------------------------------------------

    $timeserver "time.ien.it";
    $timercvd query_time_server($timeserver,37);
    if (!
    $timercvd[1]) { # if no error from query_time_server
      
    $timevalue bin2hex ($timercvd[0]);
      
    $timevalue abs (HexDec('7fffffff') - HexDec($timevalue) - HexDec('7fffffff')) ;
      
    $tmestamp $timevalue 2208988800# convert to UNIX epoch time stamp
      
    $datum date("Y-m-d (D) H:i:s",$tmestamp date("Z",$tmestamp)); /* incl time zone offset */
      
    $doy = (date("z",$tmestamp)+1);

      echo 
    "Time check from time server ",$timeserver," : [<font color=\"red\">",$timevalue,"</font>]";
      echo 
    " (seconds since 1900-01-01 00:00.00).
    \n"
    ;
      echo 
    "The current date and universal time is ",$datum," UTC. ";
      echo 
    "It is day ",$doy," of this year.
    \n"
    ;
      echo 
    "The unix epoch time stamp is $tmestamp.
    \n"
    ;
    #if (!$timercvd)
    else {
      echo 
    "Unfortunately, the time server $timeserver could not be reached at this time. ";
      echo 
    "$timercvd[1] $timercvd[2].
    \n"
    ;
    # else 
    c'è un problema... a me serviva il microtime.
    Faccio una domanda. Se io sul server creo una pagina che visualizza la data (o una stringa qualunque) posso leggerla ed usarla (con fopen mi pare di no perchè risiede su un altro server)?
    La fantasía, abandonada de la razón, produce monstruos imposibles; unida con ella es madre de las artes y origen de las maravillas.
    (Francisco Goya)
    ----------------------------------------
    http://www.mangioebevo.it
    http://www.definitives.org

  4. #4
    Sono riuscito a fare questa cosa, poi al massimo voi mi direte che si poteva fare meglio. Sul mio server ho messo su una pagina chiamata time.php con questo codice:
    Codice PHP:
    <?PHP
    list($usec$sec) = explode(" ",microtime());
    $data=((float)$usec + (float)$sec);
    echo(
    "#".$data);
    ?>
    ed io sulla pagina PHP che usa la data scrivo:
    Codice PHP:
    $host 'stat.akkattp.com';
    if(
    $fp = @fsockopen($host80$errNo$errStr30)) {
        
    fputs($fp"POST /time.php HTTP/1.0\r\n");
        
    fputs($fp"Host: " $host "\r\n");
        
    fputs($fp"User-Agent: PHP/" phpversion() . "\r\n");
        
    fputs($fp"Content-Type:application/x-www-form-urlencoded; charset=ISO-8859-1\r\n");
        
    fputs($fp"Content-Length: ".strlen($queryString)."\r\n");
        
    fputs($fp"Accept-Language: it\r\n");
        
    fputs($fp"Cache-Control: no-cache\r\n");
        
    fputs($fp"Connection: close\r\n");
        
    fputs($fp"\r\n" $queryString);
        
    //recupero contenuto
        
    $contentResponse '';
        while(!
    feof($fp)) {
            
    $contentResponse .= fgets($fp4096);
        }
        
    fclose($fp);
    } else {
        echo 
    $errStr;
    }
    $tmp=split("#",$contentResponse);

    echo(
    $tmp[1]); 
    come vi pare come soluzione?
    La fantasía, abandonada de la razón, produce monstruos imposibles; unida con ella es madre de las artes y origen de las maravillas.
    (Francisco Goya)
    ----------------------------------------
    http://www.mangioebevo.it
    http://www.definitives.org

  5. #5
    Se vuoi percorrere quella strada, tanto valeva usare:

    // file http://remotesite/time.php
    Codice PHP:
    <?php echo serialize(microtime(true)); ?>
    // file http://localsite/time.php
    Codice PHP:
    <?php
    $time 
    unserialize(file_get_contents('http://remotesite/time.php'));
    var_dump($time);
    ?>

  6. #6
    decisamente più efficace... grazie!!
    La fantasía, abandonada de la razón, produce monstruos imposibles; unida con ella es madre de las artes y origen de las maravillas.
    (Francisco Goya)
    ----------------------------------------
    http://www.mangioebevo.it
    http://www.definitives.org

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.