mirror of
https://github.com/gnh1201/welsonjs.git
synced 2025-12-12 10:32:47 +00:00
Merge pull request #312 from gnh1201/revert-311-dev
Revert "Update WebSocketManager.cs (Urgent)"
This commit is contained in:
commit
309217994e
|
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user