溫馨提示×

c# clientwebsocket有回調嗎

c#
小樊
117
2024-11-22 21:58:02
欄目: 編程語言

C# WebSocket客戶端沒有內置的回調,但是您可以使用事件來處理接收到的消息。以下是一個簡單的示例,展示了如何使用 HttpClientWebSocket 類創建一個 WebSocket 客戶端,并使用事件處理接收到的消息:

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

namespace WebSocketClient
{
    class Program
    {
        static async Task Main(string[] args)
        {
            string url = "wss://your-websocket-server.com";
            using (HttpClient httpClient = new HttpClient())
            {
                using (WebSocket webSocket = new WebSocket(httpClient, url))
                {
                    // 訂閱接收消息的事件
                    webSocket.MessageReceived += (sender, e) =>
                    {
                        Console.WriteLine($"收到消息: {e.Data}");
                    };

                    // 連接到 WebSocket 服務器
                    await webSocket.ConnectAsync();

                    // 發送一條消息到服務器
                    string message = "Hello, WebSocket Server!";
                    byte[] messageBytes = System.Text.Encoding.UTF8.GetBytes(message);
                    await webSocket.SendAsync(new ArraySegment<byte>(messageBytes));

                    // 等待服務器關閉連接
                    await webSocket.CloseAsync(WebSocketCloseStatus.NormalClosure, "Goodbye, WebSocket Server!", CancellationToken.None);
                }
            }
        }
    }
}

在這個示例中,我們創建了一個名為 WebSocketClient 的控制臺應用程序。我們使用 HttpClientWebSocket 類創建了一個 WebSocket 客戶端,并訂閱了 MessageReceived 事件。當接收到消息時,事件處理器將打印消息內容。我們還展示了如何連接到 WebSocket 服務器、發送消息以及等待服務器關閉連接。

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