mirror of
https://github.com/KubaPro010/fm-dx-webserver.git
synced 2026-07-30 16:59:15 +02:00
send users to rawcomm
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
/* Libraries / Imports */
|
/* Libraries / Imports */
|
||||||
|
const send_to_rawcomm = require('./rawcomm');
|
||||||
const RDSDecoder = require("./rds.js");
|
const RDSDecoder = require("./rds.js");
|
||||||
const { serverConfig } = require('./server_config');
|
const { serverConfig } = require('./server_config');
|
||||||
|
|
||||||
@@ -273,6 +274,7 @@ checkSerialPortStatus();
|
|||||||
function showOnlineUsers(currentUsers) {
|
function showOnlineUsers(currentUsers) {
|
||||||
dataToSend.users = currentUsers;
|
dataToSend.users = currentUsers;
|
||||||
initialData.users = currentUsers;
|
initialData.users = currentUsers;
|
||||||
|
send_to_rawcomm(`o${currentUsers},0\n`);
|
||||||
}
|
}
|
||||||
|
|
||||||
let prevFreq = initialData.freq || '87.500';
|
let prevFreq = initialData.freq || '87.500';
|
||||||
|
|||||||
+2
-20
@@ -7,23 +7,7 @@ const dataHandler = require('./datahandler');
|
|||||||
const storage = require('./storage');
|
const storage = require('./storage');
|
||||||
const consoleCmd = require('./console');
|
const consoleCmd = require('./console');
|
||||||
const { serverConfig, configSave } = require('./server_config');
|
const { serverConfig, configSave } = require('./server_config');
|
||||||
|
const send_to_rawcomm = require("./rawcomm")
|
||||||
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);
|
|
||||||
|
|
||||||
let geoip = null;
|
let geoip = null;
|
||||||
try {
|
try {
|
||||||
@@ -292,9 +276,7 @@ function resolveDataBuffer(data, wss, rdsWss) {
|
|||||||
|
|
||||||
if (receivedData.length) {
|
if (receivedData.length) {
|
||||||
dataHandler.handleData(wss, receivedData, rdsWss);
|
dataHandler.handleData(wss, receivedData, rdsWss);
|
||||||
rawComm.clients.forEach((client) => {
|
send_to_rawcomm(receivedData);
|
||||||
if (client.readyState === WebSocket.OPEN) client.send(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