找回密码
 加入
搜索
查看: 1910|回复: 2

关于TcpNameToIP把域名转换成IP的问题

[复制链接]
发表于 2010-1-17 08:30:41 | 显示全部楼层 |阅读模式
这是时间同步的AU3程序如下:
#Include <Date.au3>
_timesync()
Func _timesync() ;时间同步函数
        $TimeZone = 8 * 60 * 60
        UDPStartup()
        $socket = UDPOpen(TCPNameToIP("210.72.145.8"), 123)  ;TcpNameToIP把域名转换成IP.
        $pac = "1b0e01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
        $status = UDPSend($socket, Chr(Dec(StringLeft($pac, 2))))
        If @error <> 0 Then Return
        If $status = 0 Then Return
        $data = ""
        $i = 0
        While $data = ""
                $i += 1
                $data = UDPRecv($socket, 100)
                If $i = 5 Then Return
                Sleep(100)
        WEnd
        UDPCloseSocket($socket)
        UDPShutdown()
        $unsignedHexValue = StringMid($data, 83, 8); Extract time from packet. Disregards the fractional second.
        $ones = StringRight($unsignedHexValue, 1)
        $n = StringTrimRight($unsignedHexValue, 1)
        $value = Dec($n) * 16 + Dec($ones)
        $value = $value + $TimeZone
        $UTC = _DateAdd("s", $value, "1900/01/01 00:00:00")
        $localtime = @YEAR & "/" & @MON & "/" & @MDAY & " " & @HOUR & ":" & @MIN & ":" & @SEC
        $iDateCalc = _DateDiff('s', $UTC, $localtime)
        $var1 = StringSplit(StringLeft($UTC, 10), '/')
        $var2 = StringSplit(StringRight($UTC, 8), ':')
        _SetTime($var2[1], $var2[2], $var2[3])
        _SetDate($var1[3], $var1[2], $var1[1])
        If $iDateCalc > "60" Or $iDateCalc < "-" & "60" Then
                MsgBox(64, "时间已同步", "本地时间和国际标准时间存在误差,已同步!" & @CRLF & "本机时间:" & $localtime & @CRLF & "标准时间:" & $UTC & @CRLF & "时间差距:" & $iDateCalc & "秒")
        EndIf
EndFunc   ;==>_timesync
问题来了
请问大侠
TcpNameToIP把域名转换成IP
我把 210.72.145.8
换成 210.72.145.44国家授时中心服务器的IP地址
就无法使用了
请指导
发表于 2010-1-17 15:11:28 | 显示全部楼层
TcpNameToIP 不是这样用的吧?有IP地址了何必再用这个?

TCPNameToIP ( 域名 )  这样是把域名转换成IP地址
发表于 2010-1-17 23:02:55 | 显示全部楼层
你都知道是域名转ip了,你直接给它个ip那还转啥?
UDPOpen(210.72.145.8, 123)就好了,TCPNameToIP()都用不上
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-22 13:41 , Processed in 0.075189 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表