您的位置:首页 > Web前端 > AngularJS

angular中使用signalr实现实时通信

2020-06-05 05:33 441 查看

安装依赖

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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: