我正在尝试使用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 ... 有人知道我该怎么解决吗?
答案 0 :(得分:0)
看起来这不是SocketIO问题,这是Noble的问题。 为了将来,使用===比较而不是==可以使您免于状况检查中的奇怪问题。
答案 1 :(得分:0)
是的,这是个高尚的问题。我解决了:
if(noble.state === 'poweredOn'){
scanStart()
}else{
noble.on('stateChange', scanStart)
}
谢谢你的建议。