qinglong/back/services/sock.ts

34 lines
708 B
TypeScript

import { Service, Inject } from 'typedi';
import winston from 'winston';
import { Connection } from 'sockjs';
@Service()
export default class SockService {
private clients: Connection[] = [];
constructor(@Inject('logger') private logger: winston.Logger) {}
public getClients() {
return this.clients;
}
public addClient(conn: Connection) {
if (this.clients.indexOf(conn) === -1) {
this.clients.push(conn);
}
}
public removeClient(conn: Connection) {
const index = this.clients.indexOf(conn);
if (index !== -1) {
this.clients.splice(index, 1);
}
}
public sendMessage(msg: string) {
this.clients.forEach((x) => {
x.write(msg);
});
}
}