python-3.x - 当有效载荷长度大小大于 1000K 时,无法获得有效载荷响应。(Coap)
问题描述
我正在使用 Coapthon 和 Helperclient 库来获取、放置、发布数据。我正在使用下面提到的代码行来获取有效负载。如果 pauload 长度大小不超过 1000,它可以正常工作。
response = self.client.get(path_check, timeout=30)
Jun 21, 2020 5:56:11 PM com.coap.dtls.test.ExampleDTLSClient$1 receiveData
INFO: received response, length53, hex payload:
但在某些情况下,有效载荷大小很高“length1386”,并且无法获取有效载荷:
Jun 21, 2020 5:56:21 PM com.coap.dtls.test.ExampleDTLSClient$1 receiveData
INFO: received response, length1386, hex payload:
并显示下面提到的错误: AttributeError: 'NoneType' object has no attribute 'payload'
任何人都可以帮助他如何获得高长度的有效载荷?我正在使用 python 脚本和 copathon 库来实现它。
response = self.client.get(path_check, timeout=30)
解决方案
CoAP 的消息大小仅限于单个 UDP 数据包。
通常,当超过最大大小时,服务器和客户端会退回到所谓的块传输。这允许传输几乎任意大小的有效载荷。
在这个具体的案例中,乍一看似乎您正试图以单个响应消息的形式访问响应负载.payload
,但它不存在,因为没有单个响应消息——但 CoAPython 的块层应该处理这一点。您可能在库实现中遇到了一个错误,这在其问题跟踪器中最容易讨论。
推荐阅读
- java - Hibernate 插件不可用
- javascript - Angular 6 - 复制到移动剪贴板(IOS,Android)
- c# - RadTextBox EmptyMessage 和 .Replace 等于空还是带值?
- python - Python 最大成对快速解决方案 [dup]
- azure - 将本地 SQL Server 2008 迁移到 Azure vm
- reactjs - Firebase Auth TypeError:模块未定义
- python - pip install cx_Freeze 命令不起作用
- javascript - 将自定义按钮/文本添加到全日历中没有事件的日期
- php - 为 Stripe Session 创建要在数组中发送的数组
- typescript - 如何在 TypeScript 中推断函数的ThisType