C# WebSocket客户端没有内置的回调,但是您可以使用事件来处理接收到的消息。以下是一个简单的示例,展示了如何使用 HttpClient
和 WebSocket
类创建一个 WebSocket 客户端,并使用事件处理接收到的消息:
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Net.WebSockets;
namespace WebSocketClient
{
class Program
{
static async Task Main(string[] args)
{
string url = "wss://your-websocket-server.com";
using (HttpClient httpClient = new HttpClient())
{
using (WebSocket webSocket = new WebSocket(httpClient, url))
{
// 订阅接收消息的事件
webSocket.MessageReceived += (sender, e) =>
{
Console.WriteLine($"收到消息: {e.Data}");
};
// 连接到 WebSocket 服务器
await webSocket.ConnectAsync();
// 发送一条消息到服务器
string message = "Hello, WebSocket Server!";
byte[] messageBytes = System.Text.Encoding.UTF8.GetBytes(message);
await webSocket.SendAsync(new ArraySegment<byte>(messageBytes));
// 等待服务器关闭连接
await webSocket.CloseAsync(WebSocketCloseStatus.NormalClosure, "Goodbye, WebSocket Server!", CancellationToken.None);
}
}
}
}
}
在这个示例中,我们创建了一个名为 WebSocketClient
的控制台应用程序。我们使用 HttpClient
和 WebSocket
类创建了一个 WebSocket 客户端,并订阅了 MessageReceived
事件。当接收到消息时,事件处理器将打印消息内容。我们还展示了如何连接到 WebSocket 服务器、发送消息以及等待服务器关闭连接。