安装依赖
npm install --save @aspnet/signalr
报错时,可将项目的依赖全部删除,再重新安装
import * as signalR from '@aspnet/signalr'
const connection = new signalR.HubConnectionBuilder()
.withUrl("https://chervon-iothub-dev.azurewebsites.net/api"
).build();
//用来解决 WebSocket is not in the OPEN state
Object.defineProperty(WebSocket, 'OPEN', { value: 1, });
connection.on("newMessage", function (messageFromIoTDevice) {
let index = messageFromIoTDevice.indexOf(':');
let deviceId = messageFromIoTDevice.slice(0,index);
let msg = messageFromIoTDevice.slice(index);
document.getElementById("message").innerHTML += '<p style="margin-bottom:0;">'+'<span style="font-weight:800;">'+deviceId+'</span>'+msg+'</p><div style="height=0.5rem;"></div>';
// if(messageFromIoTDevice.indexOf(':')){
// let index = messageFromIoTDevice.indexOf(':');
// console.log(messageFromIoTDevice,'equip',this.equip);
// console.log('index',index);
// console.log("message",messageFromIoTDevice.slice(index+1));
// let deviceId = messageFromIoTDevice.slice(0,index);
// if(deviceId == this.equip){
// document.getElementById("message").innerHTML = '<p>'+messageFromIoTDevice.slice(index+1)+'</p><br>';
// }
// }
});
connection.onclose(() => console.log('disconnected'));
console.log('connecting...');
connection.start()
.catch(console.error);