zoukankan      html  css  js  c++  java
  • lua获取网络当前时间戳

    使用luasocket

    local socket = require "socket.core"
    local server_ip = {
            "time-nw.nist.gov",
            "time-a.nist.gov",
            "time-b.nist.gov",
            "time.nist.gov",
            "time-c.nist.gov",
            "time-d.nist.gov",
        }
    
    function nstol(str)
        assert(str and #str == 4)
        local t = {str:byte(1,-1)}
        local n = 0
        for k = 1, #t do
            n= n*256 + t[k]
        end
        return n
    end
    
    -- get time from a ip address, use tcp protocl
    function gettime(ip)
        print('connect ', ip)
        local tcp = socket.tcp()
        tcp:settimeout(10)
        tcp:connect(ip, 37)
        success, time = pcall(nstol, tcp:receive(4))
        tcp:close()
        return success and time or nil
    end
    
    function nettime()
        for _, ip in pairs(server_ip) do
            time = gettime(ip)
            if time then 
                --print(os.date("%c", time-2208988800))
                print(time-2208988800)
                --return time-2208988800
            end
        end
    end
    
    nettime()
  • 相关阅读:
    MyCAT-安装配置读写分离
    MYSQL-GTID复制
    Harbor使用
    ansible-playbook(合集)
    Ansible批量添加主机
    MyCAT+MGR
    随笔说明
    常用sql语句
    接口测试基础
    正则表达式
  • 原文地址:https://www.cnblogs.com/em-x/p/5087699.html
Copyright © 2011-2022 走看看