Пытаюсь сделать сервер на NodeJS при получении определенных запросов должен выводить результат, но сталкиваюсь с ошибкой.
const io = require('socket.io').listen(8888);
const Server = 'eventServer'
const Client = 'eventClient'
let cmd = null;
io.sockets.on('connection',function(socket) {
socket.on(Server,function(data) {
console.log(data)
parseCmd(data)
})
socket.on('disconnect', function() {
console.log('client disconnected')
})
});
function parseCmd(cmd) {
switch(cmd) {
case 'getInitDevice':
socket.broadcast.emit("Client", cmd);
console.log('getInitDevice');
break;
case 'getListDevices':
socket.broadcast.emit("Client", cmd);
console.log('getListDevices');
break;
case 'getValueDevices':
socket.broadcast.emit("Client", cmd);
console.log('getValueDevices');
break;
case 'getValueStop':
socket.broadcast.emit("Client", cmd);
console.log('getValueStop');
break;
default:
socket.broadcast.emit("Client", cmd);
console.log('Unknown Cmd');
}
}
При запуске сервера получаю:
/home/splinter/workspace/iserv/SrvCollector/server.js:41
socket.broadcast.emit("Client", cmd);
^
ReferenceError: socket is not defined
at parseCmd (/home/splinter/workspace/iserv/SrvCollector/server.js:41:4)
at Socket.<anonymous> (/home/splinter/workspace/iserv/SrvCollector/server.js:14:3)
at Socket.emit (events.js:314:20)
at /home/splinter/workspace/iserv/SrvCollector/node_modules/socket.io/lib/socket.js:528:12