TCP的简单应用:与服务器时钟同步 ( 积分: 100 )

  • 主题发起人 主题发起人 Willson_Z
  • 开始时间 开始时间
W

Willson_Z

Unregistered / Unconfirmed
GUEST, unregistred user!
一个较小的编程实验:要求基于TCP的应用,在客户端实现与时钟服务器的同步.
Delphi有类似的控件吗?如何实现呢?请留青!谢谢!!!
代码:
 
用delphi自带的indy控件
IdTime1.Host:="time.nist.gov";
IdTime1.Port=37;
IdTime1.SyncTime;
 
so easy?!
如果客户与服务较远,考虑传输时延,获得精确时间,还需要做哪些呢?
 
您考虑的问题,人家也考虑到了,ntp协议是专门用来同步时间的,有对网络延迟的偏差处理。
至于idtime 是否使用ntp协议我没看过,你可以仔细研究下。
 
能具体介绍一下ntp协议吗?
它是在TCP之上的吗?不明白!
 
TCP/IP模型分为四个层次:网络接口层,网际层,传输层和应用层.网际层包含IP,TCMP,ARP,RARP等协议.传输层包含TCP,UDP等协议.应用层包含FTP,Telnet,Smtp,NFs,SNMP,http等众多协议.ntp也属于应用层协议,是运行在udp上的。
 
这些我了解。那就是说有直接的控件可以用喽!
我只是想了解一下ntp的具体工作原理而已。呵呵!
 
IdTime1.Host:="time.nist.gov";
IdTime1.Port=37;
这两句我知道
IdTime1.SyncTime;
这一句就是获取服务器的时间吗?
它是不是直接就将本地的时间改成服务器的时间了呢?
或者他把获得的时间存哪了?谢谢。
 
如果上个问题明白了,就可以结帐了![:)]
 
SyncTime调用后直接就把本地系统时间给改了,并且他考虑的很周全,连用户是否有改变时间的权限问题都考虑到了.
 
它获取de时间,与IdTime中basedate有什么关系吗?
我试了,好像有变化。
 
唉,要记得看帮助啊,光标定在basedate上,然后按F1键,会有相应的帮助信息的。
 
OK!
多谢!!
 
多人接受答案了。
 
后退
顶部