首页 > 解决方案 > 学习 Socket.io - 在模块和服务器之间传递数据

问题描述

构建一个简单的快速服务器来托管一个网页。我有一个 DHT-11 探头,我将从中收集数据。试图将数据从传感器模块传递到服务器模块。从服务器我将它传递到前面这是这样做的方法吗?

//server.js

import {readProbe} from '../src/sensor.js'

const express = require('express');
const http = require('http')
const path = require('path');
const app = express();
const socket = require('socket.io');

let server = http.createServer(app);
let io = socket(app);
let PORT = 3000;


// Static files
app.use(express.static(__dirname + '/static'));
app.use(express.static(__dirname + '/public'));

app.get('./', (req, res) => {
    res.send('Hello World!')
    res.send(__dirname);
});

//Socket setup
io.on('connection', (socket) => {
    console.log('made new connection');
})

io.on('probeData', (socket) => {
   console.log(`Temp: ${socket.temp}`)
    //What should i do here?

} )

app.listen(PORT);

和传感器模块(客户端):

const sensor = require('node-dht-sensor');
const io = io();

const readProbe = () => {

    setTimeout(()=>{
        sensor.read(11, 17, (err,temperature, humidity) => {
            if(!err) {
                return {temp: temperature, hum: humidity}
            } else {
                console.log(err);
            }
        })
    },5000)
}

io.emit('probeData',()=> {
    readProbe();    
});

希望得到一些反馈

标签: javascriptnode.jsexpresssocket.io

解决方案


推荐阅读