我撰写了一些需要了解客户和单一服务器时间的辛迪加法。
我试图通过在服务器上安装SMB股份并阅读最后经过修改的时间来做到这一点。 我认为(也许不正确)时间档将由服务器而不是客户生成。 既然客户似乎喜欢这样,就真的会把事情推向别处。
某人能否证实这种行为,或者以不同的方式这样做?
我撰写了一些需要了解客户和单一服务器时间的辛迪加法。
我试图通过在服务器上安装SMB股份并阅读最后经过修改的时间来做到这一点。 我认为(也许不正确)时间档将由服务器而不是客户生成。 既然客户似乎喜欢这样,就真的会把事情推向别处。
某人能否证实这种行为,或者以不同的方式这样做?
为什么在客户开始与服务器通信时,不给客户以时间,把时间送到服务器上,那么就不必再分享。 通过将时代时间相互比较,你的时间将逐秒抵消。 可以根据客户/服务器模式,在客户和服务器之间进行这种交流。
您可以同时使用共同的NTP服务器,而不是担心。 加上“更多”的红利!
我猜测这里所涉及的变数晚(例如IO)是关键问题。 您正在研究如何罚款? 我也不清楚这一点(严格地说)与 Java有关。
无论如何,我认为你需要比较行动。
两种不同的机器是向一种共享装置(your SMB)书写的,每个机器都生成一个文件,其中包含:their epoch。 理想的情况是,为了尽量减少相对问题,你想要在你写字前获得这个时代,然后立即关闭档案。
然后,客户将自己的宇宙观光和档案时间与服务器的文档及其宇宙观。 这4项措施应当提供足够的信息,以了解两个联合核查机制时代之间的相对分散情况。
[需要澄清]
举例来说,服务器图是(iepoch, ts}):{S_t, SMB_ts}和客户{C_S_t, SMB_C_ts}。 请允许我说,你获得(这里有数字){5000,4800}和{5100,5000}。 • 在服务器时序和客户印章之间(4800 - 5000 => - 200)进行拨号,并添加到客户时代(5100+(-200)=>4900)。 因此,客户是服务器上的100个单位。
[最后编辑]: (请注意,您有3个 clo子可以在这里处理:SMB、服务器和客户。)