fix(socket): use socket.writable to check if its safe to send a message

This commit is contained in:
MARCROCK22 2024-08-25 21:40:32 +00:00
parent 9b2393f001
commit 3fb57ccc79

View File

@ -177,6 +177,8 @@ export class SeyfertWebSocket {
} }
private _write(buffer: Buffer, opcode: number) { private _write(buffer: Buffer, opcode: number) {
if (!this.socket?.writable)
return;
const length = buffer.length; const length = buffer.length;
let frame; let frame;
// Kinda same logic as above, but client-side // Kinda same logic as above, but client-side
@ -199,17 +201,17 @@ export class SeyfertWebSocket {
this.socket?.write(frame); this.socket?.write(frame);
} }
onping(_data: string) {} onping(_data: string) { }
onpong(_data: string) {} onpong(_data: string) { }
onopen() {} onopen() { }
onmessage(_payload: { data: string | Buffer }) {} onmessage(_payload: { data: string | Buffer }) { }
onclose(_close: { code: number; reason: string }) {} onclose(_close: { code: number; reason: string }) { }
onerror(_err: unknown) {} onerror(_err: unknown) { }
close(code: number, reason: string) { close(code: number, reason: string) {
this.__closeCalled = true; this.__closeCalled = true;