Вы можете объявить переменную на верхнем уровне, а затем назначить ей подключенные сокеты. Затем используйте его для отправки сообщений своим клиентам. Например:
let ws = null;
server.on('connection', socket => {
ws = socket;
socket.on('message', message => {
console.log(`received from a client: ${message}`);
});
socket.send('Hello world!');
});
app.post('/', function (req, res) {
console.log(req.body.name);
if (ws) ws.send('Welcome!');
res.sendStatus(200);
});
Кроме того, это может работать, но в целом это не подходит для реальных приложений, где вы хотите масштабировать и повторно использовать! Поэтому я бы порекомендовал создать синглтон-класс для сокета. И использовать его в любом месте, где вы хотите. Здесь у меня есть предыдущий ответ здесь , который показывает, как это будет выглядеть.
Надеюсь, я помог