c#

C#怎么获取webscoket的通信内容

小亿
132
2023-08-06 00:03:44
栏目: 编程语言

要获取 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 方法关闭连接。

0
看了该问题的人还看了