network chunk v5

This commit is contained in:
andrei-mihnea-cerbu
2024-11-13 00:00:51 +02:00
parent 65606cdd13
commit 1a9f544abf
2 changed files with 5 additions and 1 deletions
@@ -20,7 +20,7 @@ export class TcpClientCommunicator extends SocketCommunicatorBase {
this.socket = socket;
this.aesKey = null;
this.aesIv = null;
this.serverPublicKey = null;c
this.serverPublicKey = null;
this.isAesKeySetFlag = false;
this.chunkBuffers = {}; // Initialize chunk buffer for reassembling messages
}
@@ -91,6 +91,7 @@ export class TcpClientCommunicator extends SocketCommunicatorBase {
const chunkWithHeader = `${chunkHeader}|${chunk}`;
await this.writeToSocket(chunkWithHeader);
await new Promise((resolve) => setTimeout(resolve, 300)); // Simulate network delay
}
}
@@ -100,6 +100,8 @@ export class TcpServerCommunicator extends SocketCommunicatorBase {
const [headerJson, chunkContent] = incomingMessage.split('|');
const header = JSON.parse(headerJson);
console.log(`\n\n${incomingMessage}\n\n`);
// Initialize chunk array if this is the first chunk for this messageId
if (!this.chunkBuffers[header.messageId]) {
this.chunkBuffers[header.messageId] = new Array(header.totalChunks);
@@ -158,6 +160,7 @@ export class TcpServerCommunicator extends SocketCommunicatorBase {
const chunkWithHeader = `${chunkHeader}|${chunk}`;
await this.writeToSocket(chunkWithHeader);
await new Promise((resolve) => setTimeout(resolve, 300)); // Simulate network delay
}
}