温馨提示×

c# clientwebsocket有示例吗

c#
小樊
81
2024-11-22 22:01:02
栏目: 编程语言

当然有!下面是一个简单的C#客户端WebSocket示例,它连接到WebSocket服务器并发送/接收消息。

首先,确保已安装System.Net.WebSockets NuGet包。如果没有,请在项目中运行以下命令:

Install-Package System.Net.WebSockets

然后,创建一个名为WebSocketClient.cs的文件,并将以下代码粘贴到其中:

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

namespace WebSocketClient
{
    class Program
    {
        static async Task Main(string[] args)
        {
            // WebSocket服务器地址
            string uri = "ws://your_websocket_server_address";

            // 创建WebSocket连接
            using (ClientWebSocket webSocket = new ClientWebSocket())
            {
                // 连接到WebSocket服务器
                await webSocket.ConnectAsync(new Uri(uri), CancellationToken.None);

                // 发送消息到服务器
                string message = "Hello, WebSocket Server!";
                byte[] messageBytes = 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 = Encoding.UTF8.GetString(buffer, 0, result.Count);
                    Console.WriteLine($"Received message: {receivedMessage}");
                } while (!result.CloseStatus.HasValue);
            }
        }
    }
}

请注意,您需要将your_websocket_server_address替换为您的WebSocket服务器地址。

编译并运行此程序,它将连接到WebSocket服务器,发送一条消息,然后接收并打印服务器的响应。

0