gpt4 book ai didi

events - UPnP 订阅续订在设备上失败

转载 作者:行者123 更新时间:2023-12-01 06:28:38 26 4
gpt4 key购买 nike

当我尝试在设备上续订 UPnP 事件订阅时,出现 412 HTTP 错误:前提条件失败,SID 错误。

此错误仅发生在一台设备上,所有其他设备都可以正常工作。
Buggy 设备是 D-Link XTreme N GIGABIT Router DIR-655(固件版本:1.34WW,2010/09/30),硬件版本:A4。

UPNP订阅日志(被Wireshark捕获)

订阅:

SUBSCRIBE /l3fw HTTP/1.0
Host: 192.168.0.1
CALLBACK: <http://192.168.0.100:7169/evt/43E47718-E7F6-D950-A503-71346C1D9944>
NT: upnp:event
TIMEOUT: Second-60

HTTP/1.1 200 OK
SID: uuid:5B68F900-2863-104D-8000-002401F35BC2
TIMEOUT: Second-60
SERVER: ipOS/7.6 UPnP/1.0 ipGENADevice/1.0

续订:
SUBSCRIBE /l3fw HTTP/1.0
Host: 192.168.0.1
SID: uuid:5B68F900-2863-104D-8000-002401F35BC2
TIMEOUT: Second-60

HTTP/1.1 412 Precondition Failed, bad SID
SERVER: ipOS/7.6 UPnP/1.0 ipGENADevice/1.0

我第一次尝试在到期前 5 秒内续订,例如在初始订阅后的第 55 秒。第二次尝试:在第 45 秒,但效果相同。

此外,我尝试在订阅请求中使用 HTTP/1.1(并添加“Connection:close” header ),但没有效果。

我做错了什么?

UPD1 将模板更新到 1.37WW 没有任何改变

UPD2

当我在订阅后立即尝试续订时,它起作用了。等待 750 毫秒并更新 - 有效。等待 900 毫秒并更新 - HTTP 412 失败。似乎 D-Link 设备中存在错误(另一个 D-Link 路由器 DI-624 以相同方式工作)。英特尔设备验证器 ( https://software.intel.com/en-us/articles/intel-tools-for-upnp-technologies ) 可以无错误地验证 DIR-655 和 DI-624 事件,但我认为,订阅和续订步骤之间没有停顿。所以,我认为,UPNP 事件不是一种可靠的机制,最好不要使用它。

这种设备行为损害了 upnp 事件机制的想法。

最佳答案

我刚刚在一些 Belkin WeMo 设备上遇到了一个非常相似的问题。

我通过确保正确响应发送到 CALLBACK URL 的通知消息来解决我的问题。我发送了一个 HTTP 200 响应,事情开始对我正常工作。

关于events - UPnP 订阅续订在设备上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25325246/

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