Actualmente he inicializado dos websockets diferentes con diferentes puertos como este:
const socket_ch1 = new WebSocket(WEB_socket_URL_CH1) const socket_ch2 = new WebSocket(WEB_socket_URL_CH2) socket_ch1.onopen = (event) => { console.warn('websocket_ch1 connection established', event) } socket_ch2.onopen = (event) => { console.warn('websocket_ch2 connection established', event) }Luego, pasé los datos a una lógica que implementé sobre datos entrantes como este.
socket_ch1.onmessage = async (event) => { console.log( 'onmessage Ch1: ' + flag) const parsedMessage = JSON.parse(event.data) const keys = Object.keys(parsedMessage) prpdch1.streamPush(parsedMessage[keys][0]) prpsch1.streamPush(parsedMessage[keys][0]) } socket_ch2.onmessage = async (event) => { console.log( 'onmessage Ch2: ' + flag) const parsedMessage = JSON.parse(event.data) const keys = Object.keys(parsedMessage) prpsch2.streamPush(parsedMessage[keys][0]) prpdch2.streamPush(parsedMessage[keys][0]) }La lógica streamPush() se ha implementado como tal:
streamPush( samples ){ console.log('prps streamPush : ' + this.name) console.log(samples) if(samples === undefined) return let temp = [] // 7680 >> [128] while(samples.length > 0 ) { var cycle = samples.splice(0, this.dataSampleSize) temp.push(cycle) } if(temp.length > 0) this.databuf = this.databuf.concat(temp) }Sin embargo, parece que los datos solo llegan a través de un canal y no sé por qué. La siguiente es la consola de depuración.
Creo que hay un problema con la forma en que estoy usando el websocket. ¿Alguien puede detectar el problema?
¡Gracias por adelantado!