1

我是 CoAP 的新手。我需要访问存储在本地服务器中的图像。我使用 python 的 aicoap 模块来发送请求。除了访问图像外,我的应用程序运行良好。有什么方法可以通过 CoAP 访问图像。

网址:coap://localhost:8089/error.png

它返回一个错误:Received Type.ACK from UDP6EndpointAddress [::ffff:127.0.0.1]:8089 with local address,但无法将其与正在运行的交换匹配。

error.png 位于根目录中。用 Go 编写的其他处理程序工作正常,例如:coap://localhost:8089/stuLogin/其中 stuLogin 是我的登录处理程序。

4

1 回答 1

1

您收到的错误消息表明服务器正在发送带有与请求不匹配的令牌的响应,或者来自不同的 IP 地址和端口。这很可能与涉及的图像无关,但更多的是客户端和服务器在 CoAP 协议的工作方式上存在分歧。

为了进一步调试,你可以使用 Wireshark 来观察你的网络流量。仅当源和目标 IP 地址和端口(在 IP 和 UDP 标头中找到;服务器 IP 在多播情况下可能不同)以及请求和响应的令牌(在 CoAP 标头中找到)匹配时,客户端可以接受。如果其中任何一个不匹配,则服务器发送了错误的请求。如果它们匹配,请在 aiocoap 问题跟踪器上报告问题以及捕获的包。

于 2018-07-25T12:20:41.863 回答