cvmts: Use npm versions of superqemu/nodejs-rfb.

We publish them now, so let's use them in cvmts!

Additionally, this removes the 'shared' module entirely, since it has little purpose anymore. The logger is replaced with pino (because superqemu uses pino for logging itself).
This commit is contained in:
modeco80
2024-07-16 08:29:52 -04:00
parent cf9f11819e
commit 432e75d42a
32 changed files with 469 additions and 1131 deletions

View File

@@ -2,20 +2,19 @@ import EventEmitter from 'events';
import NetworkServer from '../NetworkServer.js';
import { Server, Socket } from 'net';
import IConfig from '../IConfig.js';
import { Logger } from '@cvmts/shared';
import TCPClient from './TCPClient.js';
import { IPDataManager } from '../IPData.js';
import { User } from '../User.js';
import pino from 'pino';
export default class TCPServer extends EventEmitter implements NetworkServer {
listener: Server;
Config: IConfig;
logger: Logger;
logger = pino({name: 'CVMTS.TCPServer'});
clients: TCPClient[];
constructor(config: IConfig) {
super();
this.logger = new Logger('CVMTS.TCPServer');
this.Config = config;
this.listener = new Server();
this.clients = [];
@@ -23,7 +22,7 @@ export default class TCPServer extends EventEmitter implements NetworkServer {
}
private onConnection(socket: Socket) {
this.logger.Info(`New TCP connection from ${socket.remoteAddress}`);
this.logger.info(`New TCP connection from ${socket.remoteAddress}`);
var client = new TCPClient(socket);
this.clients.push(client);
this.emit('connect', new User(client, IPDataManager.GetIPData(client.getIP()), this.Config));
@@ -31,7 +30,7 @@ export default class TCPServer extends EventEmitter implements NetworkServer {
start(): void {
this.listener.listen(this.Config.tcp.port, this.Config.tcp.host, () => {
this.logger.Info(`TCP server listening on ${this.Config.tcp.host}:${this.Config.tcp.port}`);
this.logger.info(`TCP server listening on ${this.Config.tcp.host}:${this.Config.tcp.port}`);
});
}
stop(): void {