当前位置

网站首页> 程序设计 > 开源项目 > 程序开发 > 浏览文章

Node.js实现coap响应json(二)

作者:小梦 来源: 网络 时间: 2024-08-18 阅读:

node-coap模块中json的示例代码缺少了.setHeader("Accept","application/json"),添加后即可正常运行

结合注释理解代码

const coap = require('coap') // or coap    , bl   = require('bl')//创建服务器coap.createServer(function(req, res) {  if (req.headers['Accept'] != 'application/json') {    res.code = '4.06'    return res.end()  }  //得到请求数据并解析  var data = req.url.split('/')  console.log(data[1] + ':' + data[2] + '\n')  //设置响应的格式为json  res.setOption('Content-Format', 'application/json')  //发送响应  res.end(JSON.stringify({ cmd: "shutdown" }))}).listen(function() {//启动监听服务后创建请求  coap    .request({      pathname: '/temperature/32',//请求内容      options: {      }    })    .setHeader("Accept","application/json")//设置请求头为json    .on('response', function(res) {      //打印响应代号      console.log('response code', res.code)      if (res.code !== '2.05')        return process.exit(1)      res.pipe(bl(function(err, data) {        //json解码,输出响应cmd字段对应的值        var json = JSON.parse(data)        console.log(json.cmd)        process.exit(0)      }))    })    .end()})
测试
$ node son->temperature:32    response code 2.05    shutdown

热点阅读

网友最爱