簡體   English   中英

在 node.js 上實現 CoAP 協議

[英]Implementing CoAP protocol on node.js

你知道關於在 node.js 上實現 CoAP 協議連接的任何指南或教程嗎? 我必須實現簡單的服務器和客戶端應用程序。 我檢查了我找到的所有資源,當然包括他們的文檔:

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

但對我來說還不清楚。

感謝您的任何幫助。

編輯:

如果這是服務器的實現,客戶端應該是什么樣子的?

var coap        = require('coap')
  , server      = coap.createServer()

server.on('request', function(req, res) {
  res.end('Hello ' + req.url.split('/')[1] + '\n')
})

// the default CoAP port is 5683
server.listen(function() {
  var req = coap.request('coap://localhost/Matteo')

  req.on('response', function(res) {
    res.pipe(process.stdout)
    res.on('end', function() {
      process.exit(0)
    })
  })

  req.end()
})

或者像這樣,coap客戶端的一個例子

const coap = require('coap'),
  bl = require('bl');


//construct coap request
var req = coap.request({

  observe: false,
  host: '192.168.0.93',
  pathname: '/',
  port: 5683,
  method: 'get',
  confirmable: 'true',
  retrySend: 'true',
  //query:'',
  options: {
    //  "Content-Format": 'application/json'
  }

})

//put payload into request      
var payload = {
  username: 'aniu',
}
req.write(JSON.stringify(payload));

//waiting for coap server send con response
req.on('response', function(res) {
  //print response code, headers,options,method
  console.log('response code', res.code);

  if (res.code !== '2.05') return process.exit(1);
  //get response/payload from coap server, server sends json format
  res.pipe(bl(function(err, data) {
    //parse data into string
    var json = JSON.parse(data);
    console.log("string:", json);
    // JSON.stringify(json));
  }))

});
req.end();

應該是這樣的:


    const coap = require('coap')
        req = coap.request('coap://localhost')
        console.log("Client Request...")

    req.on('response' , function(res){
            res.pipe(process.stdout)
        })
    req.end()

來源: https : //github.com/mcollina/node-coap/blob/master/examples/client.js

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM