其实算是转载的,自己封装了一下,忘记了转载链接了
import { Injectable } from '@angular/core';
@Injectable({
providedIn: 'root'
})
export class WebsocketService {
public ws: WebSocket;//定义websocket
connectWs(websocket: string) {
if (this.ws != null) { this.ws.close() };
this.ws = new WebSocket(websocket);
let that = this;
console.log('开启websocket');
this.ws.onopen = function (event) {
//socket 开启后执行,可以向后端传递信息
setTimeout(()=> {
that.ws.send('sonmething');
},10000);
}
this.ws.onmessage = function (event) {
//socket 获取后端传递到前端的信息
//接收到消息会打开
let indexButton: HTMLElement = document.querySelector('.open') as HTMLElement;
indexButton.click();
}
this.ws.onerror = function (event) {
//socket error信息
}
this.ws.onclose = function (event) {
//socket 关闭后执行
}
}
}