溫馨提示×

c# clientwebsocket能發數據嗎

c#
小樊
119
2024-11-22 21:52:01
欄目: 編程語言

是的,C# ClientWebSocket 可以發送數據。ClientWebSocket 是一個基于 .NET Framework 的類,用于與 WebSocket 服務器進行通信。以下是一個簡單的示例,展示了如何使用 ClientWebSocket 發送和接收數據:

using System;
using System.Net.WebSockets;
using System.Threading.Tasks;

namespace WebSocketClient
{
    class Program
    {
        static async Task Main(string[] args)
        {
            // 創建一個 WebSocket 連接
            using (ClientWebSocket webSocket = new ClientWebSocket())
            {
                // 連接到 WebSocket 服務器
                Uri serverUri = new Uri("ws://your-websocket-server-url");
                await webSocket.ConnectAsync(serverUri, CancellationToken.None);

                // 發送數據到服務器
                string message = "Hello, WebSocket Server!";
                byte[] messageBytes = System.Text.Encoding.UTF8.GetBytes(message);
                await webSocket.SendAsync(new ArraySegment<byte>(messageBytes), WebSocketMessageType.Text, true, CancellationToken.None);

                // 從服務器接收數據
                byte[] buffer = new byte[1024 * 4];
                WebSocketReceiveResult result;
                do
                {
                    result = await webSocket.ReceiveAsync(new ArraySegment<byte>(buffer), CancellationToken.None);
                    string receivedMessage = System.Text.Encoding.UTF8.GetString(buffer, 0, result.Count);
                    Console.WriteLine($"Received: {receivedMessage}");
                } while (!result.CloseStatus.HasValue);
            }
        }
    }
}

在這個示例中,我們首先創建了一個 ClientWebSocket 實例,然后連接到 WebSocket 服務器。接著,我們將一條消息轉換為字節數組并使用 SendAsync 方法發送給服務器。最后,我們使用 ReceiveAsync 方法從服務器接收數據。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女