WebSocket инициализируется в основном файле, это всё понятно и очевидно. Отдельно в главном файле есть объект clients, с информацией о подключенных клиентах. Тоже пока всё просто.
Но что делать, когда я хочу для определенного пользователя вызвать событие внутри любого другого модуля, например, из контроллера?
index.js
// Тут стандартные импорты
const WebSocket = require('ws')
const http = require('http')
const express = require('express')
const app = express()
const server = http.createServer(app)
const wss = new WebSocket.Server({ server })
const clients = {}
wss.on('connection', (ws, req) => {
// тут происходит всякое с сокетами
})
server.listen(8081, () => {
console.log('Сервачок запущен')
})
/controllers/UserController.js
router.post('/sendMessage', (req, res) => {
// Хочу отправить сообщение через вебсокет вот тута
})