使用nodejs和coap协议创建服务端和客户端服务端生成随机数据温度、湿度、光照并将其作为相应发给客户端客户端向服务器发送请求接受数据。服务端和客户端都打印出数据
服务端代码:
const coap = require('coap');
const server = coap.createServer();
server.on('request', (req, res) => {
console.log(`Received ${req.method} request from ${req.rsinfo.address}:${req.rsinfo.port}`);
const temperature = Math.floor(Math.random() * 30);
const humidity = Math.floor(Math.random() * 50);
const light = Math.floor(Math.random() * 1000);
const payload = JSON.stringify({ temperature, humidity, light });
res.end(payload);
});
server.listen(() => {
console.log('CoAP server started');
});
客户端代码:
const coap = require('coap');
const req = coap.request('coap://localhost');
req.on('response', (res) => {
console.log(`Received ${res.code} response from ${res.rsinfo.address}:${res.rsinfo.port}`);
res.pipe(process.stdout);
});
req.end();
运行服务端代码后,会输出 CoAP server started,表示服务端已经开始监听请求。然后运行客户端代码,会输出类似下面的内容:
Received 2.05 response from 127.0.0.1:5683
{"temperature":22,"humidity":38,"light":817}
其中 2.05 表示 CoAP 的响应码,代表成功响应。客户端接收到的数据是服务端生成的随机数据,包括温度、湿度和光照。服务端也会输出类似下面的内容:
Received GET request from 127.0.0.1:5682
表示服务端接收到了客户端的请求。
原文地址: https://www.cveoy.top/t/topic/bEMs 著作权归作者所有。请勿转载和采集!