使用socket.io-client填充数据

时间:2019-03-01 04:06:36

标签: javascript node.js socket.io

我正在尝试使用socket.io-client将数据发送到服务器,但是它不起作用。

套接字代码:

var noble = require('noble');
var beacon_descover = require('./beacon_descover.js');
var io = require('socket.io-client')
var socket = io.connect('http://localhost:8080', {reconnect: true});
var addressToTrack = 'x.x.x.x ';

socket.on('connect', function(){
console.log('connected to server');
});

noble.on('discover', function(peripheral){
if(peripheral.uuid == addressToTrack){
socket.emit('deviceData', {mac: peripheral.uuid, rssi:peripheral.rssi});
}
});

noble.startScanning([], true)

我得到这个Eroor

 Error: Could not start scanning, state is unknown (not poweredOn)

在Noble.scan 在Noble.startScanning ... 有人知道我该怎么解决吗?

2 个答案:

答案 0 :(得分:0)

看起来这不是SocketIO问题,这是Noble的问题。 为了将来,使用===比较而不是==可以使您免于状况检查中的奇怪问题。

答案 1 :(得分:0)

是的,这是个高尚的问题。我解决了:

if(noble.state === 'poweredOn'){
    scanStart()
}else{

    noble.on('stateChange', scanStart)
}

谢谢你的建议。