温馨提示×

c#中clientwebsocket的用法是什么

c#
小亿
328
2024-05-31 09:25:11
栏目: 编程语言

在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客户端与服务器之间的简单通信。

0