Example usage for org.apache.commons.net.ntp NTPUDPClient NTPUDPClient

List of usage examples for org.apache.commons.net.ntp NTPUDPClient NTPUDPClient

Introduction

In this page you can find the example usage for org.apache.commons.net.ntp NTPUDPClient NTPUDPClient.

Prototype

NTPUDPClient

Source Link

Usage

From source file:NTP_Example.java

public static void main(String[] args) {
    if (args.length == 0) {
        System.err.println("Usage: NTPClient <hostname-or-address-list>");
        System.exit(1);//  w  w  w . j av  a 2  s  .  co  m
    }

    NTPUDPClient client = new NTPUDPClient();
    // We want to timeout if a response takes longer than 10 seconds
    client.setDefaultTimeout(10000);
    try {
        client.open();
        for (String arg : args) {
            System.out.println();
            try {
                InetAddress hostAddr = InetAddress.getByName(arg);
                System.out.println("> " + hostAddr.getHostName() + "/" + hostAddr.getHostAddress());
                TimeInfo info = client.getTime(hostAddr);
                processResponse(info);
            } catch (IOException ioe) {
                ioe.printStackTrace();
            }
        }
    } catch (SocketException e) {
        e.printStackTrace();
    }

    client.close();
}

From source file:de.pawlidi.openaletheia.utils.DateTimeUtils.java

public static long getCurrentTime() {
    try {/*from   w ww. j  a v a2  s . c  om*/
        NTPUDPClient timeClient = new NTPUDPClient();
        InetAddress inetAddress = InetAddress.getByName("time-c.nist.gov");
        TimeInfo timeInfo = timeClient.getTime(inetAddress);
        return timeInfo.getReturnTime();
    } catch (IOException e) {
        // TODO: handle exception
    }
    return -1;
}

From source file:ch.lamacrypt.internal.network.NTP.java

/**
 * Returns the current Unix epoch (in milliseconds), obtained by polling the
 * following NTP server://from   www.ja  v  a  2s  .com
 * <ul>
 * <li>0.ch.pool.ntp.org</li>
 * <li>0.is.pool.ntp.org</li>
 *
 * </ul>
 * <p>
 * Waits up to 10 seconds to get a response
 *
 * @return current Unix epoch, in milliseconds
 */
public static long getTime() {
    NTPUDPClient client = new NTPUDPClient();
    client.setDefaultTimeout(10000);
    hosts[0] = "0.ch.pool.ntp.org";
    hosts[1] = "0.is.pool.ntp.org";
    boolean done = false;
    long epoch = 0;
    int i = 0;

    while (!done) {
        try {
            InetAddress hostAddr = InetAddress.getByName(hosts[i]);
            epoch = client.getTime(hostAddr).getReturnTime();
            done = true;
        } catch (IOException ex) {
            ErrorHandler.showError(ex);
        }
        i++;
    }

    client.close();
    return epoch;
}

From source file:com.fuensalida.utils.FechaExternaNTP.java

public static Date getNTPDateROA() {
    String servidor = "minuto.roa.es";
    //Se le da un valor nulo por defecto a la variable

    Date fechaRecibida = null;/*from   w ww.  ja  va2s. c o  m*/
    //Se crea un objeto de tipo NTPUDPClient Clase de la libreria Commons

    NTPUDPClient cliente = new NTPUDPClient();
    //Tiempo de Espera Antes De Mandar Error.

    cliente.setDefaultTimeout(5000);
    try {
        //Obtenemos la direccion IP por medio de el host previamente Asignado

        InetAddress hostAddr = InetAddress.getByName(servidor);
        //Solicitamos la fecha al servidor

        TimeInfo fecha = cliente.getTime(hostAddr);
        //Recibimos y convertimos la fecha a formato DATE

        fechaRecibida = new Date(fecha.getMessage().getTransmitTimeStamp().getTime());
    } catch (Exception e) {
        System.err.println("Error: " + e.getMessage());
    }
    //Cerramos la comunicacin con el cliente

    cliente.close();
    //Retornamos la fecha ya convertida si no es nula , de ser nula regresa la fecha Local

    return fechaRecibida == null ? new Date() : fechaRecibida;

}

From source file:com.savoycraft.util.TimeUtil.java

/**
 * Queries a NIST time server to get a difference between its time and the
 * local system time.//  w w  w.  j  av  a2s  .  com
 */
public static void calibrate() {
    if (System.currentTimeMillis() < lastTimeRequest + 5000 || calibrated) {
        return;
    }

    NTPUDPClient timeClient = new NTPUDPClient();
    InetAddress inetAddress = null;
    try {
        inetAddress = InetAddress.getByName(TIME_SERVER);
    } catch (UnknownHostException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        return;
    }
    TimeInfo timeInfo = null;
    try {
        timeInfo = timeClient.getTime(inetAddress);
    } catch (IOException e) {
        System.err.println("SavoyCraft could not contact time.nist.gov.");
        e.printStackTrace();
        return;
    }
    long returnTime = timeInfo.getReturnTime();
    calibration = System.currentTimeMillis() - returnTime;
    System.out.println(calibration);
    // Date time = new Date(returnTime);
    // System.out.println("Time from " + TIME_SERVER + ": " + time);

    lastTimeRequest = System.currentTimeMillis();

    calibrated = true;
}

From source file:be.fedict.trust.service.util.ClockDriftUtil.java

public static TimeInfo executeNTP(ClockDriftConfigEntity clockDriftConfig, final NetworkConfig networkConfig)
        throws IOException {

    LOG.debug("clock drift detection: " + clockDriftConfig.toString());

    final InetAddress ntpServerAddress = InetAddress.getByName(clockDriftConfig.getServer());

    TimeInfo timeInfo;//from w  w w.j av a2 s .  c o m
    NTPUDPClient client = new NTPUDPClient();
    client.setDefaultTimeout(clockDriftConfig.getTimeout());
    client.open();
    LOG.debug("NTP server: " + ntpServerAddress);
    timeInfo = client.getTime(ntpServerAddress);
    client.close();
    timeInfo.computeDetails();
    return timeInfo;
}

From source file:de.tud.kitchen.android.NTPTimeReceiver.java

@Override
protected Void doInBackground(InetAddress... params) {
    NTPUDPClient client = new NTPUDPClient();
    client.setDefaultTimeout(10000);/* w w w  .  j  a v a  2s.c  o  m*/
    try {
        client.open();
    } catch (final SocketException se) {
        se.printStackTrace();
        return null;
    }
    while (!this.isCancelled()) {
        try {
            TimeInfo info = client.getTime(params[0]);
            info.computeDetails();
            Long offsetValue = info.getOffset();
            int receiverTimeDelta = (offsetValue == null) ? 0 : offsetValue.intValue();
            publishProgress(receiverTimeDelta);
        } catch (final IOException ioe) {
            ioe.printStackTrace();
            continue;
        }

        try {
            Thread.sleep(1000 * 60);
        } catch (InterruptedException e) {
            continue;
        }
    }
    client.close();
    return null;
}

From source file:com.jforex.dzplugin.task.NTPTimeSynchTask.java

public NTPTimeSynchTask() {
    timeClient = new NTPUDPClient();
    init();
}

From source file:edu.tcu.gaduo.ihe.iti.ct_transaction.service.NTPClient.java

public Date processResponse(String host) {

    TimeInfo info = null;//  w w  w  .  j a v a2  s.c  o m
    try {
        NTPUDPClient client = new NTPUDPClient();
        client.setDefaultTimeout(10000);
        client.open();
        InetAddress hostAddr = InetAddress.getByName(host);
        info = client.getTime(hostAddr);
        client.close();
    } catch (NullPointerException e) {
        logger.info(e.toString());
        return null;
    } catch (IOException e) {
        logger.info(e.toString());
        e.printStackTrace();
        return null;
    }

    message = info.getMessage();
    stratum = message.getStratum(); // 
    if (stratum <= 0)
        refType = "(??)";
    else if (stratum == 1)
        refType = "(??; e.g., GPS)"; // GPS, radio clock,
    else
        refType = "(??; e.g. via NTP or SNTP)";
    // stratum should be 0..15...
    logger.info(" Stratum: " + stratum + " " + refType);

    this.setRefNtpTime(message.getReferenceTimeStamp());

    // Originate Time is time request sent by client (t1)
    this.setOrigNtpTime(message.getOriginateTimeStamp());
    // Receive Time is time request received by server (t2)
    this.setRcvNtpTime(message.getReceiveTimeStamp());
    // Transmit time is time reply sent by server (t3)
    this.setXmitNtpTime(message.getTransmitTimeStamp());
    // Destination time is time reply received by client (t4)
    long destTime = info.getReturnTime();
    this.setDestNtpTime(TimeStamp.getNtpTime(destTime));

    info.computeDetails(); // compute offset/delay if not already done
    Long offsetValue = info.getOffset();
    Long delayValue = info.getDelay();
    this.setDelay(delay = (delayValue == null) ? "N/A" : delayValue.toString());
    this.setOffset((offsetValue == null) ? "N/A" : offsetValue.toString());

    Date Date = message.getReferenceTimeStamp().getDate();
    return Date;
}

From source file:com.DSC.client.SecureChannel.java

/**
 * Gets the date time offset for the client using a NTP server
 * @throws IOException /*from  w ww .j  a  va 2 s  .  c o  m*/
 */
private static long getTimeOffset() throws IOException {
    NTPUDPClient timeClient = new NTPUDPClient();
    InetAddress inetAddress = InetAddress.getByName(NTP_SERVER);
    TimeInfo timeInfo = timeClient.getTime(inetAddress);
    return DateTimeUtils.currentTimeMillis() - timeInfo.getReturnTime();
}