要獲取 WebSocket 的通信內容,可以使用 C# 中的 WebSocket 類。下面是一個簡單的示例代碼:
using System;
using System.Net.WebSockets;
using System.Threading;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
using (ClientWebSocket socket = new ClientWebSocket())
{
Uri uri = new Uri("wss://example.com"); // 替換為實際的 WebSocket 地址
await socket.ConnectAsync(uri, CancellationToken.None);
Console.WriteLine("Connected to WebSocket");
byte[] buffer = new byte[1024];
WebSocketReceiveResult result;
do
{
result = await socket.ReceiveAsync(new ArraySegment<byte>(buffer), CancellationToken.None);
if (result.MessageType == WebSocketMessageType.Text)
{
string message = System.Text.Encoding.UTF8.GetString(buffer, 0, result.Count);
Console.WriteLine("Received: " + message);
}
} while (!result.CloseStatus.HasValue);
await socket.CloseAsync(result.CloseStatus.Value, result.CloseStatusDescription, CancellationToken.None);
Console.WriteLine("WebSocket closed");
}
}
}
在上述示例中,首先創建了一個 ClientWebSocket
對象,并通過 ConnectAsync
方法連接到指定的 WebSocket 地址。然后,使用 ReceiveAsync
方法接收 WebSocket 的消息,如果消息類型為文本,則將其轉換為字符串并打印出來。當 WebSocket 關閉時,使用 CloseAsync
方法關閉連接。