gpt4 book ai didi

java - 使用 Java 测试设备间通信时序

转载 作者:行者123 更新时间:2023-12-01 14:17:24 25 4
gpt4 key购买 nike

场景:

我想测试两个设备之间的通信。他们通过帧进行通信。

我启动应用程序(在设备 1 上)并发送多个帧(每个帧包含一个唯一的 (int) ID)。 设备 2 接收每个帧并发送确认(仅回显 ID),或者不发送。 (当帧丢失时)

设备 1 收到 ACK 时,我想比较发送和接收返回的 ACK 所花费的时间。

从环顾四周来看 How do I measure time elapsed in Java?System.nanoTime() 可能是监视耗时的最佳方法。然而,根据经典的生产者-消费者模式,这一切都发生在不同的线程中,其中一个线程(在设备 1 上)始终在读取,另一个线程正在管理进程(并且还写入帧)。现在感谢您对我的耐心解答,我的问题是:

问题:现在的问题是:我需要将 ACK 帧中的唯一 ID 从读取线程传送到管理线程。我做了一些研究,这似乎是等待/通知系统的一个很好的候选者?或者也许我只需要一个包含每个帧发送数据的共享数组?但是管理线程如何知道它发生了呢?

背景我想比较这些时间,因为我想研究哪些因素会阻碍沟通。

最佳答案

为什么不直接用<unique id, timestamp>填充共享 map 呢?对?您可以通过定期删除超过一定数量的条目来使旧条目失效。

关于java - 使用 Java 测试设备间通信时序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17995248/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com