Merge pull request #312 from gnh1201/revert-311-dev

Revert "Update WebSocketManager.cs (Urgent)"
This commit is contained in:
Namhyeon Go 2025-08-14 03:35:26 +09:00 committed by GitHub
commit 309217994e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,9 +1,10 @@
// WebSocketManager.cs // WebSocketManager.cs
// SPDX-License-Identifier: GPL-3.0-or-later // SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: 2025 Catswords OSS and WelsonJS Contributors // SPDX-FileCopyrightText: 2025 Catswords OSS and WelsonJS Contributors
// https://github.com/gnh1201/welsonjs // https://github.com/gnh1201/welsonjs
// //
using System; using System;
using System.Buffers;
using System.Collections.Concurrent; using System.Collections.Concurrent;
using System.IO; using System.IO;
using System.Net.WebSockets; using System.Net.WebSockets;
@ -145,11 +146,13 @@ namespace WelsonJS.Launcher
await entry.IoLock.WaitAsync(token); await entry.IoLock.WaitAsync(token);
try try
{ {
// Send message // Send message (single-frame; can be split if needed)
await sock.SendAsync(new ArraySegment<byte>(sendBuf), WebSocketMessageType.Text, true, token); await sock.SendAsync(new ArraySegment<byte>(sendBuf), WebSocketMessageType.Text, true, token);
// Receive message until EndOfMessage // Receive message until EndOfMessage is reached
byte[] buffer = new byte[8192]; var buffer = ArrayPool<byte>.Shared.Rent(8192);
try
{
using (var ms = new MemoryStream()) using (var ms = new MemoryStream())
{ {
while (true) while (true)
@ -180,6 +183,11 @@ namespace WelsonJS.Launcher
} }
} }
finally finally
{
ArrayPool<byte>.Shared.Return(buffer);
}
}
finally
{ {
entry.IoLock.Release(); entry.IoLock.Release();
} }