Node.js實(shí)現(xiàn)coap響應(yīng)json(二)

coap模塊中json的示例代碼缺少了.setHeader("Accept","application/json"),添加后即可正常運(yùn)行

結(jié)合注釋理解代碼

const coap = require('coap') // or coap
    , bl   = require('bl')

//創(chuàng)建服務(wù)器
coap.createServer(function(req, res) {
  if (req.headers['Accept'] != 'application/json') {
    res.code = '4.06'
    return res.end()
  }
  //得到請(qǐng)求數(shù)據(jù)并解析
  var data = req.url.split('/')
  console.log(data[1] + ':' + data[2] + '\n')
  //設(shè)置響應(yīng)的格式為json
  res.setOption('Content-Format', 'application/json')
  //發(fā)送響應(yīng)
  res.end(JSON.stringify({ cmd: "shutdown" }))

}).listen(function() {

//啟動(dòng)監(jiān)聽(tīng)服務(wù)后創(chuàng)建請(qǐng)求
  coap
    .request({
      pathname: '/temperature/32',//請(qǐng)求內(nèi)容
      options: {
      }
    })
    .setHeader("Accept","application/json")//設(shè)置請(qǐng)求頭為json
    .on('response', function(res) {

      //打印響應(yīng)代號(hào)
      console.log('response code', res.code)
      if (res.code !== '2.05')
        return process.exit(1)

      res.pipe(bl(function(err, data) {
        //json解碼,輸出響應(yīng)cmd字段對(duì)應(yīng)的值
        var json = JSON.parse(data)
        console.log(json.cmd)
        process.exit(0)
      }))
    })
    .end()
})
測(cè)試
$ node son
->temperature:32

    response code 2.05
    shutdown
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,688評(píng)論 19 139
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,323評(píng)論 25 708
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,285評(píng)論 6 342
  • 今天的作業(yè)好簡(jiǎn)單呀,畫(huà)得很快。感覺(jué)整個(gè)畫(huà)面顏色都很鮮艷,線(xiàn)條也很明朗,水果很可愛(ài),看起來(lái)令人愉悅,有一種夏日的清涼...
    金炭閱讀 239評(píng)論 1 1
  • 我們使用艾威的Duo X-Bike時(shí),也可以使用App,裏面已經(jīng)有藍(lán)芽系統(tǒng)了,只要去下載艾威的App即可,有And...
    蔡立人閱讀 679評(píng)論 0 0

友情鏈接更多精彩內(nèi)容