gpt4 book ai didi

java - 坚持UPnP : Place blocking call for searching devices

转载 作者:行者123 更新时间:2023-12-02 00:09:27 25 4
gpt4 key购买 nike

我正在使用Cling用于实现 UPnP 控制点的 Java 库。

native controlpoint.search() 函数是非阻塞的,并通过回调机制报告设备。

有没有办法对搜索进行阻塞调用,当找到设备时返回?或者我可以等待找到设备的状态标志?

(自己实现这个很简单,但我想尽可能使用原生 API)

最佳答案

即使 API 允许(它不允许),这也是非常不明智的事情。 UPnP 中的设备发现(也称为搜索)本质上是异步的。搜索从广播开始,作为控制点的您无法知道设备何时响应、会有多少个以及是否有响应。 UPnP 发现中不存在“现在我找到了所有设备,并且不会再有任何设备”这样的事件 - 这正是您为了实现可靠的阻塞等待而需要的。最好的折衷方案可能是带有超时的阻塞等待 - 但您会设置什么超时呢?太短意味着某些设备可能无法及时响应(您私有(private)决定的时间),太长意味着即使没有更多设备响应您仍然需要等待 - 但由于 UPnP ad-hoc 网络的设计,您根本不知道有多少设备。

您可能需要解释为什么阻塞搜索对您如此重要。

关于java - 坚持UPnP : Place blocking call for searching devices,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13171388/

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