Nodejs / Socket.emit无法正常工作,找不到数据

时间:2019-03-02 18:11:59

标签: node.js socket.io beacon

因此,我目前正在从Beacon获取uuid和rssi,并使用 socket.io

将其发送到服务器

实际上我得到了必要的数据:当我在客户端进行测试时,它显示 1:undefined(ed6cfa91cbf1)RSSI-50

但是当我在服务器端进行测试时,我得到:{mac:undefined,rssi:undefined}

我找不到我的代码有什么问题,希望大家能帮助我。

客户端:

socket.on('connect', function(device){

var noble = require('noble');
var knownDevices = [];

function discovered (peripheral) {

    var device = {
        name: peripheral.advertisement.localName,
        uuid: peripheral.uuid,
        rssi: peripheral.rssi
    };
    knownDevices.push(device);

    console.log(`${knownDevices.length}:${device.name}(${device.uuid})RSSI${device.rssi}`); 

 //working, it show uuid and rssi

    socket.emit(device.uuid ,device.rssi ); //don't working
    }

服务器端:

   var scanner = io.of('/scanner')

   scanner.on('connection', function(device) {

    let payload = {
        mac: device.uuid,
        rssi: device.rssi
    }
    console.log(payload);

    connection.query("INSERT INTO DataTable values ?", payload,   function(err, rows) {

    })

1 个答案:

答案 0 :(得分:0)

您是否检查过服务器正在运行的端口以及在前端已建立套接字连接的端口?

简而言之,请确保您服务器的端口号和前端连接