NodeJS上的CoAP块式传输

时间:2018-02-02 12:38:52

标签: node.js coap

如何在NodeJS上创建CoAP块块传输?我使用node-coap模块。 我发送请求:

var options = {
      host: 'coap.me',
      port: 5683,
      pathname: '/test',
      method: 'PUT',
    };

我也这样做:req.setOption('Block2', new Buffer([1]));此方法应创建CoAP选项,并表示有效负载的大小为32个字节。之后,我不知道该怎么做。我尝试for周期(body = 32字节):

for(var i = 0; i < 100; i++){
        if(i === 99){
            req.end(body);
        } else {
            req.write(body);
        }
    }

我所拥有的一切都是错误:Max packet size is 1280: current is 265951

或者如果我应该使用不同的请求,如何逐个映射?因为每个请求都会产生响应,并且我的程序在第一次请求后结束。

1 个答案:

答案 0 :(得分:1)

我想你想从客户端向服务器发送大量有效负载? 这是 Block1 而非 Block2

RFC7959

  

Block1和Block2选项都可以出现在请求和      回复消息。在任何一种情况下,Block1选项都适用于      请求有效负载,Block2选项与响应有关      有效载荷。

不幸的是,看起来节点衔接中没有这样的开箱即用功能。

https://github.com/mcollina/node-coap/issues/42