C#实现websocket接收消息
时间: 2023-11-14 18:04:32 浏览: 107
在C#中,你可以使用`ClientWebSocket`类来实现WebSocket接收消息。以下是一个简单的示例代码:
```csharp
using System;
using System.Net.WebSockets;
using System.Threading;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
using (ClientWebSocket client = new ClientWebSocket())
{
Uri serverUri = new Uri("wss://example.com/ws"); // WebSocket服务器的URL
await client.ConnectAsync(serverUri, CancellationToken.None);
await ReceiveMessage(client);
}
}
static async Task ReceiveMessage(ClientWebSocket client)
{
byte[] buffer = new byte[1024];
while (client.State == WebSocketState.Open)
{
var result = await client.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: " + message);
}
}
}
}
```
在上述代码中,我们创建了一个`ClientWebSocket`对象,并使用`ConnectAsync`方法连接到WebSocket服务器。然后,我们使用`ReceiveAsync`方法循环接收来自服务器的消息,并将其转换为文本格式进行处理。
请注意,你需要将`wss://example.com/ws`替换为实际的WebSocket服务器URL。
阅读全文
相关推荐















