sphinx-relay/api/utils/socket.ts
2020-03-25 16:17:45 -07:00

33 lines
575 B
TypeScript

import * as WebSocket from 'ws'
let connections = new Map()
let connectionCounter = 0
const connect = (server) => {
server = new WebSocket.Server({ server })
console.log('[socket] connected to server')
server.on('connection', socket => {
console.log('[socket] connection received')
var id = connectionCounter++;
connections.set(id, socket)
})
}
const send = (body) => {
connections.forEach((socket, index) => {
socket.send(body)
})
}
const sendJson = (object) => {
send(JSON.stringify(object))
}
export {
connect,
send,
sendJson
}