问题标签 [clock-synchronization]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
844 浏览

java - Android sendMessageAtTime() 是如何工作的?

所以我有一个大的(最多 5000 个)预定义的、时间敏感的消息数组,我希望我的程序发送给处理程序。其中一些消息需要相隔 40 毫秒。我想我可以调用一堆 sendMessageAtTime() 将它们排队,然后在适当的时间为每个人调用我的 Handler。

不幸的是,至少在我的 AVD 中,它似乎执行了几次处理程序,然后在发送最后一条消息之前什么都不做。处理程序没有跟上?(即不能在下一次调用之前完成?)

sendMessageAtTime() 是否等待发送消息,直到 Handler 完成其当前消息?

如果发送消息的指定时间已过去,会发生什么情况?它是完全丢弃消息还是在发送队列中的任何其他“稍后”消息之前发送消息?

有什么技术可以让 Handler “跟上”吗?例如,我可以在发送给处理程序的消息中包含请求的时间,以便处理程序在确定为时已晚时什么也不做。

谢谢。

0 投票
0 回答
485 浏览

wifi - 在同一 WLAN 上的 Android 设备之间同步时钟

1) 似乎已经有一个同步时钟(802.11 规范的一部分)称为“本地 TSF 计时器”。有什么方法可以访问它吗?

Android 的 ScanResult 包含一个时间戳,描述为“上次看到此结果时的时间同步函数 (tsf) 时间戳(以微秒为单位)”。这个时间戳可以帮助我同步吗?

2)如果没有,是否有任何简单的方法可以在连接到同一 WLAN 的 2 台 Android 设备之间准确同步时钟?

3)iOS和Android设备之间的同步怎么样?

r

0 投票
1 回答
525 浏览

node.js - 如何测试系统之间时间同步算法的实现?

我通过计算与主服务器的偏移量实现了一个简单的时间同步算法。处理代码本身存在一些滞后,这将加起来为时间戳。所以我想知道我将如何测试我的算法实际上是否在系统之间同步时间戳?

以下是我在 nodejs 中的时间同步逻辑

系统使用 socket.io 进行通信。我在服务器中使用了一个全局变量,即全局变量,每次收到请求时都会更新,全局值作为 data.ord 发送到客户端。

所以目前,我有一个主服务器和多个从服务器,它们不断地汇集时间戳。以下是我得到的输出:

主节点:

从站 1:

奴隶 2:

如你看到的

偏移 + 时间戳(主)> 时间戳(从)

但这会在一段时间内不断下降。总之,我不确定这是否是正确的做法。我会喜欢你在 1 上的输入。如何实现更好的算法?2. 我将如何测试它?

0 投票
1 回答
57 浏览

java - 如何使服务器几乎同时向不同位置的 2 个客户端发送消息。(在java中实现)

我正在尝试实现一个 2 人游戏。2 个客户端与服务器通信以玩游戏的位置,服务器决定哪个玩家赢得了游戏。我正在使用使用 TCP 连接的分布式方法。

作为我实现的一部分,我将不得不看到,即使一个客户端就在服务器旁边,而另一个客户端位于数英里之外,两个客户端应该几乎同时从服务器获得响应。在我的游戏的一部分中,服务器向客户端显示一个提示框,单击该框的客户端将成为赢家。为了让服务器决定这一点,我想使用 cristains 算法进行时钟同步。

我的问题是我知道该怎么做,但发现很难编写代码。

0 投票
1 回答
1855 浏览

icmp - NTP 与 ICMP 时间戳消息的用途

我知道网络时间协议的目的是通过网络同步时钟,主要是使用OriginateReceiveTransmit时间戳来进行时间计算。

但是,ICMP 协议也有一个“用于时间同步”的时间戳控制消息(以及相应的时间戳回复消息) 。它还包含三个与 NTP 同名的时间戳字段,它们可能以类似的方式使用。

那么,两者有什么区别呢?我想区别不在于 NTP 用于桌面操作系统,而 ICMP 用于第 3 层设备,因为我知道使用 NTP 的 Cisco 交换机。

0 投票
1 回答
2437 浏览

python - 如何同步树莓派中的时钟?

我是树莓派的新手,试图将比特流从发送者发送到接收者。然而,大多数时候比特没有以正确的模式接收,它们似乎被移动了一点。我想我无法正确同步它们。有谁可以同步时钟

Python代码在这里


0 投票
2 回答
798 浏览

objective-c - objc 中的时间更改通知(小时和分钟)

是否有最佳实践在时间更改时获取通知?

如果时间更改(小时和分钟,而不是秒和毫秒),我正在使用NSTimer每 0,002 秒检查一次,以使我的应用程序中的标签每分钟与电话时钟保持同步。

我希望有更好的解决方案。

谢谢

0 投票
1 回答
3381 浏览

clock - 如何在本地网络中同步时钟?

让我们假设我们有许多系统连接在本地网络中并且没有连接到互联网。确保每个时钟同步的最佳方法是什么?它们不必与 UTC 时间同步,但足以在它们之间同步。

我曾想过通过在其中一个系统中设置 NTP 服务器来使用 NTP。但我需要建议,与要求相比,这是否会更加麻烦。是否建议尝试使用 TCP 套接字手动计算往返时间和服务器时间?

0 投票
1 回答
274 浏览

distributed - 物理时钟:正确性与准确性

在学习分布式系统课程的过程中,我偶然发现了以下我不理解的定义:

  • C(t)是一个完美的时钟。
  • 如果Ci(t) = C(t) ,则时钟Ci(t)在时间t被称为正确
  • 如果dCi(t)/dt = dC(t)/dt ≡ 1 ,则时钟Ci(t)在时间t称为准确的。

问题 1:我确实明白正确性的定义是什么意思,但准确性与它有何不同?

问题 2:d是什么意思?不那么数学的解释将不胜感激。

非常感谢您!

0 投票
1 回答
1483 浏览

android - 使用GPS进行时间同步,Android onNmeaReceived回调中的时间戳代表什么?

在 Android 开发(最新 SDK)中,我使用GpsStatus.NmeaListener来解析 NMEA 消息以进行时间同步。

onNmeaReceived(long timestamp, String nmea)回调中,我解析 GPRMC 消息的 nmea 字符串。然后我计算系统时钟和从 GPRMC 消息解析的时间之间的偏移量。

现在,在 Android Frame 工作中收到 NMEA 消息的时刻与处理回调之间存在延迟。这会导致我正在计算的实际偏移量发生变化。

我的猜测是,timestamp沿着 NMEA 消息发送的是收到 NMEA 消息那一刻的系统时钟时间。如果这是真的,我可以使用这个时间戳来补偿回调处理中的延迟。

根据我的测量,timestamp时间与回调中捕获的系统时钟时间onNmeaReceived有大约 10 ~ 30 毫秒的差异。
时间和从解析的 GPRMC 消息导出的时间之间的时间差/偏移量timestamp为 7200092 毫秒(GPS 和系统时间之间的时间差为 2 小时)。

因此,我会说这timestamp不是基于 GPS 的时间,而是收到消息时的系统时钟时间。

我已经在网上搜索了很多,但似乎找不到有关此时间戳的任何信息。有没有人有资源可以告诉我们更多关于这个时间戳的信息?这个时间戳到底代表什么?它是在什么时间记录的?