mirror of
https://gitlab.com/futo-org/fcast.git
synced 2025-06-24 21:25:23 +00:00
Receivers: Change sessionMap to map type
This commit is contained in:
parent
5782fcc3ca
commit
65edb0d40e
2 changed files with 12 additions and 10 deletions
|
@ -10,7 +10,7 @@ export class TcpListenerService {
|
|||
|
||||
private server: net.Server;
|
||||
private sessions: FCastSession[] = [];
|
||||
private sessionMap = {};
|
||||
private sessionMap = new Map();
|
||||
|
||||
start() {
|
||||
if (this.server != null) {
|
||||
|
@ -47,11 +47,12 @@ export class TcpListenerService {
|
|||
}
|
||||
|
||||
disconnect(sessionId: string) {
|
||||
this.sessionMap[sessionId]?.socket.destroy();
|
||||
this.sessionMap.get(sessionId)?.socket.destroy();
|
||||
this.sessionMap.delete(sessionId);
|
||||
}
|
||||
|
||||
public getSessions(): string[] {
|
||||
return Object.keys(this.sessionMap);
|
||||
return [...this.sessionMap.keys()];
|
||||
}
|
||||
|
||||
private async handleServerError(err: NodeJS.ErrnoException) {
|
||||
|
@ -64,11 +65,11 @@ export class TcpListenerService {
|
|||
const session = new FCastSession(socket, (data) => socket.write(data));
|
||||
session.bindEvents(this.emitter);
|
||||
this.sessions.push(session);
|
||||
this.sessionMap[session.sessionId] = session;
|
||||
this.sessionMap.set(session.sessionId, session);
|
||||
|
||||
socket.on("error", (err) => {
|
||||
Main.logger.warn(`Error from ${socket.remoteAddress}:${socket.remotePort}.`, err);
|
||||
socket.destroy();
|
||||
this.disconnect(session.sessionId);
|
||||
});
|
||||
|
||||
socket.on("data", buffer => {
|
||||
|
|
|
@ -11,7 +11,7 @@ export class WebSocketListenerService {
|
|||
|
||||
private server: WebSocketServer;
|
||||
private sessions: FCastSession[] = [];
|
||||
private sessionMap = {};
|
||||
private sessionMap = new Map();
|
||||
|
||||
start() {
|
||||
if (this.server != null) {
|
||||
|
@ -46,11 +46,12 @@ export class WebSocketListenerService {
|
|||
}
|
||||
|
||||
disconnect(sessionId: string) {
|
||||
this.sessionMap[sessionId]?.close();
|
||||
this.sessionMap.get(sessionId)?.close();
|
||||
this.sessionMap.delete(sessionId);
|
||||
}
|
||||
|
||||
public getSessions(): string[] {
|
||||
return Object.keys(this.sessionMap);
|
||||
return [...this.sessionMap.keys()];
|
||||
}
|
||||
|
||||
private async handleServerError(err: NodeJS.ErrnoException) {
|
||||
|
@ -63,11 +64,11 @@ export class WebSocketListenerService {
|
|||
const session = new FCastSession(socket, (data) => socket.send(data));
|
||||
session.bindEvents(this.emitter);
|
||||
this.sessions.push(session);
|
||||
this.sessionMap[session.sessionId] = session;
|
||||
this.sessionMap.set(session.sessionId, session);
|
||||
|
||||
socket.on("error", (err) => {
|
||||
Main.logger.warn(`Error.`, err);
|
||||
session.close();
|
||||
this.disconnect(session.sessionId);
|
||||
});
|
||||
|
||||
socket.on('message', data => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue