在C#中,可以使用ClientWebSocket
类来创建一个WebSocket客户端,用于与WebSocket服务器进行通信。以下是ClientWebSocket
的用法示例:
using System;
using System.Net.WebSockets;
using System.Threading;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
var uri = new Uri("ws://localhost:8080"); // WebSocket服务器的地址
using (var client = new ClientWebSocket())
{
await client.ConnectAsync(uri, CancellationToken.None); // 连接到WebSocket服务器
var receiveBuffer = new byte[1024];
while (true)
{
var receiveResult = await client.ReceiveAsync(new ArraySegment<byte>(receiveBuffer), CancellationToken.None); // 接收来自服务器的消息
var message = System.Text.Encoding.UTF8.GetString(receiveBuffer, 0, receiveResult.Count);
Console.WriteLine($"Received: {message}");
var input = Console.ReadLine();
var sendBuffer = System.Text.Encoding.UTF8.GetBytes(input);
await client.SendAsync(new ArraySegment<byte>(sendBuffer), WebSocketMessageType.Text, true, CancellationToken.None); // 向服务器发送消息
}
}
}
}
在上面的示例中,首先创建了一个ClientWebSocket
对象并连接到指定的WebSocket服务器。然后通过ReceiveAsync
方法接收来自服务器的消息,并通过SendAsync
方法向服务器发送消息。这样就实现了WebSocket客户端与服务器之间的简单通信。