import { Injectable } from '@angular/core'; import * as io from 'socket.io-client'; const values = { SYST: 'systole', DIAS: 'diastole', INST_HR: 'instantaneous HR', AVG_HR: 'average HR', TYPE: 'type', DATA: 'data', PPG: 'PPG' }; @Injectable() export class ProcessingService { SYST: number; DIAS: number; INST_HR: number; AVG_HR: number; socket: SocketIOClient.Socket; constructor() { this.socket = io('http://localhost:5000'); this.socket.connect(); this.startPPG(); this.socket.on('data', (data) => console.log('got data', data)); this.socket.on('event', (event) => console.log('got event', event)); this.socket.on(values.SYST, (data) => this.SYST = data); this.socket.on(values.DIAS, (data) => this.DIAS = data); this.socket.on(values.INST_HR, (data) => this.INST_HR = data); this.socket.on(values.AVG_HR, (data) => this.AVG_HR = data); } startPPG() { if (!this.socket.connected) { this.socket.on('connect', () => this.socket.emit(values.TYPE, values.PPG)); } else { this.socket.emit(values.TYPE, values.PPG); } } giveData(data: number[]) { if (this.socket.connected) { data.map(val => this.socket.emit(values.DATA, val)); // this.socket.emit(values.DATA, data); } } }