c# .net6 websocket客户端连接代码,给出具体范例
时间: 2024-10-06 19:03:59 浏览: 43
在.NET 6中,使用WebSocket进行客户端连接通常涉及到`Microsoft.AspNetCore.WebSockets.Client`库。以下是一个简单的C#示例,展示如何创建并连接到WebSocket服务器:
```csharp
using System;
using System.Net.WebSockets;
using Microsoft.AspNetCore.WebSockets.Client;
public class WebSocketClientExample
{
private readonly string _url = "ws://your-websocket-server.com/path";
public async Task ConnectToWebSocket()
{
var client = new WebSocketClient(_url);
// 当WebSocket连接建立成功
await client.ConnectAsync(async (error) =>
{
if (error != null)
{
Console.WriteLine($"Error connecting to WebSocket: {error.Message}");
return;
}
Console.WriteLine("Connected to WebSocket!");
// 发送消息给服务器
await client.SendAsync(new ArraySegment<byte>("Hello Server!"), WebSocketMessageType.Text, true);
// 接收服务器响应
var message = await client.ReceiveAsync();
Console.WriteLine($"Received from server: {Encoding.UTF8.GetString(message.Array)}");
// 关闭连接
await client.CloseAsync(WebSocketCloseStatus.NormalClosure, "Closing connection");
}, useDefaultCredentials: true);
// 等待异步操作完成
await client.WaitForClosedAsync();
}
}
class Program
{
static void Main(string[] args)
{
var example = new WebSocketClientExample();
try
{
example.ConnectToWebSocket().Wait();
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
}
```
在这个例子中,我们首先创建一个`WebSocketClient`实例,然后使用`ConnectAsync`方法尝试连接到指定URL。如果连接成功,我们可以发送消息并与服务器交互。最后,当不再需要连接时,我们会调用`CloseAsync`方法关闭它。