在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客戶端與服務器之間的簡單通信。