mirror of
https://github.com/KubaPro010/fm-dx-webserver.git
synced 2026-07-29 08:19:19 +02:00
send users to rawcomm
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
/* Libraries / Imports */
|
||||
const send_to_rawcomm = require('./rawcomm');
|
||||
const RDSDecoder = require("./rds.js");
|
||||
const { serverConfig } = require('./server_config');
|
||||
|
||||
@@ -273,6 +274,7 @@ checkSerialPortStatus();
|
||||
function showOnlineUsers(currentUsers) {
|
||||
dataToSend.users = currentUsers;
|
||||
initialData.users = currentUsers;
|
||||
send_to_rawcomm(`o${currentUsers},0\n`);
|
||||
}
|
||||
|
||||
let prevFreq = initialData.freq || '87.500';
|
||||
|
||||
+2
-20
@@ -7,23 +7,7 @@ const dataHandler = require('./datahandler');
|
||||
const storage = require('./storage');
|
||||
const consoleCmd = require('./console');
|
||||
const { serverConfig, configSave } = require('./server_config');
|
||||
|
||||
const WebSocket = require('ws');
|
||||
const rawComm = new WebSocket.Server({ noServer: true });
|
||||
|
||||
rawComm.on('connection', (ws, request) => {
|
||||
const { isAdminAuthenticated } = request.session || {};
|
||||
if(!isAdminAuthenticated) {
|
||||
ws.close(1008, "No admin");
|
||||
return;
|
||||
}
|
||||
|
||||
ws.on('message', (message) => {
|
||||
storage.ctl_output.write(`${message.toString()}\n`);
|
||||
});
|
||||
});
|
||||
|
||||
storage.websocket_delegation.set("/rawcomm", rawComm);
|
||||
const send_to_rawcomm = require("./rawcomm")
|
||||
|
||||
let geoip = null;
|
||||
try {
|
||||
@@ -292,9 +276,7 @@ function resolveDataBuffer(data, wss, rdsWss) {
|
||||
|
||||
if (receivedData.length) {
|
||||
dataHandler.handleData(wss, receivedData, rdsWss);
|
||||
rawComm.clients.forEach((client) => {
|
||||
if (client.readyState === WebSocket.OPEN) client.send(receivedData);
|
||||
});
|
||||
send_to_rawcomm(receivedData);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
const storage = require('./storage');
|
||||
const WebSocket = require('ws');
|
||||
const rawComm = new WebSocket.Server({ noServer: true });
|
||||
|
||||
rawComm.on('connection', (ws, request) => {
|
||||
const { isAdminAuthenticated } = request.session || {};
|
||||
if(!isAdminAuthenticated) {
|
||||
ws.close(1008, "No admin");
|
||||
return;
|
||||
}
|
||||
|
||||
ws.on('message', (message) => {
|
||||
storage.ctl_output.write(`${message.toString()}\n`);
|
||||
});
|
||||
});
|
||||
|
||||
storage.websocket_delegation.set("/rawcomm", rawComm);
|
||||
|
||||
function send_to_rawcomm(data) {
|
||||
rawComm.clients.forEach((client) => {
|
||||
if (client.readyState === WebSocket.OPEN) client.send(data);
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = send_to_rawcomm;
|
||||
Reference in New Issue
Block a user