csharp的websocket
时间: 2023-09-30 20:08:25 浏览: 39
C# 中的 WebSocket 是一种用于实现双向通信的协议。你可以使用 WebSocket 在客户端和服务器之间建立持久连接,实时传输数据。在 C# 中,你可以使用 .NET 的 System.Net.WebSockets 命名空间中的类来创建和管理 WebSocket 连接。
要在 C# 中使用 WebSocket,首先需要添加对 System.Net.WebSockets 命名空间的引用。然后,你可以使用 ClientWebSocket 类来创建 WebSocket 客户端,或者使用 HttpListenerWebSocketContext 类来创建 WebSocket 服务器。
以下是一个简单的示例,展示了如何在 C# 中使用 WebSocket:
```csharp
using System;
using System.Net.WebSockets;
using System.Threading;
using System.Threading.Tasks;
public class WebSocketExample
{
public static async Task ConnectAndReceiveData(string url)
{
using (var client = new ClientWebSocket())
{
try
{
await client.ConnectAsync(new Uri(url), CancellationToken.None);
var buffer = new byte[1024];
var receiveResult = await client.ReceiveAsync(new ArraySegment<byte>(buffer), CancellationToken.None);
while (!receiveResult.CloseStatus.HasValue)
{
var message = System.Text.Encoding.UTF8.GetString(buffer, 0, receiveResult.Count);
Console.WriteLine("Received: " + message);
receiveResult = await client.ReceiveAsync(new ArraySegment<byte>(buffer), CancellationToken.None);
}
await client.CloseAsync(receiveResult.CloseStatus.Value, receiveResult.CloseStatusDescription, CancellationToken.None);
}
catch (Exception ex)
{
Console.WriteLine("WebSocket error: " + ex.Message);
}
}
}
}
```
在上面的示例中,`ConnectAndReceiveData` 方法会创建一个 WebSocket 客户端,连接到指定的 URL,并接收来自服务器的数据。你可以调用该方法来测试 WebSocket 连接。
这只是一个简单的示例,你可以根据自己的需求进行扩展和定制。希望对你有所帮助!如有更多问题,请继续提问。