This commit is contained in:
2023-11-14 22:08:05 +01:00
parent 1a08a21b10
commit ed60cfd72a
51 changed files with 33771 additions and 24 deletions

View File

@@ -0,0 +1,50 @@
import { Injectable } from '@angular/core';
import {Observable, Observer, Subject} from 'rxjs';
import { WSMessage } from '../app/models/WSMessage';
@Injectable({
providedIn: 'root',
})
export class WebsocketService {
private isConnected: Boolean = false;
private socket: WebSocket;
public Messages: Subject<WSMessage>
constructor() {
this.connect();
this.Messages = new Subject<WSMessage>();
}
needConnect() {
return !this.isConnected;
}
connect(){
this.socket = new WebSocket('ws://localhost:5000/notify');
this.socket.onopen = () => {
this.isConnected = true;
console.log('WebSocket connection established.');
};
this.socket.onmessage = (event) => {
console.log('Received message:', event.data);
let e = JSON.parse(event.data);
this.Messages.next(
new WSMessage(e.message as String,e.name as String,e.amount as number)
);
};
this.socket.onclose = (event) => {
this.isConnected = false;
console.log('WebSocket connection closed:', event);
};
this.socket.onerror = (error) => {
console.error('WebSocket error:', error);
};
console.log("Connection");
}
}