Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c# websocket客户端

作者:炼狱死神   发布日期:2026-05-21   浏览:109

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

class Program
{
    private static async Task ClientWebSocketExample()
    {
        // 创建一个客户端 WebSocket 实例
        using (ClientWebSocket webSocket = new ClientWebSocket())
        {
            // 连接到指定的 WebSocket 服务器 URL
            await webSocket.ConnectAsync(new Uri("ws://echo.websocket.org"), CancellationToken.None);
            Console.WriteLine("Connected to WebSocket server");

            // 准备发送消息
            string message = "Hello, WebSocket!";
            byte[] sendBuffer = Encoding.UTF8.GetBytes(message);

            // 发送消息到服务器
            await webSocket.SendAsync(new ArraySegment<byte>(sendBuffer), WebSocketMessageType.Text, true, CancellationToken.None);
            Console.WriteLine("Message sent: " + message);

            // 接收服务器返回的消息
            byte[] receiveBuffer = new byte[1024 * 4];
            WebSocketReceiveResult receiveResult = await webSocket.ReceiveAsync(new ArraySegment<byte>(receiveBuffer), CancellationToken.None);

            // 将接收到的消息从字节数组转换为字符串并输出
            string echoMessage = Encoding.UTF8.GetString(receiveBuffer, 0, receiveResult.Count);
            Console.WriteLine("Message received: " + echoMessage);
        }
    }

    static async Task Main(string[] args)
    {
        await ClientWebSocketExample();
    }
}

解释说明

  1. 创建 WebSocket 客户端实例:

    • 使用 ClientWebSocket 类来创建一个 WebSocket 客户端实例。
  2. 连接到 WebSocket 服务器:

    • 使用 ConnectAsync 方法连接到指定的 WebSocket 服务器 URL。这里的示例使用的是 ws://echo.websocket.org,这是一个公共的测试 WebSocket 服务器。
  3. 发送消息:

    • 将要发送的消息转换为字节数组,并使用 SendAsync 方法发送消息到服务器。
  4. 接收消息:

    • 使用 ReceiveAsync 方法接收来自服务器的消息,并将其从字节数组转换为字符串进行输出。
  5. 异步处理:

    • 整个过程使用了异步方法(如 awaitasync),以确保不会阻塞主线程。
  6. 资源管理:

    • 使用 using 语句确保在使用完 WebSocket 后正确释放资源。

这个示例展示了如何使用 C# 中的 ClientWebSocket 类来创建一个简单的 WebSocket 客户端,连接到服务器,发送和接收消息。

上一篇:c# hmacsha256

下一篇:c#序列化

大家都在看

c# 二进制

c# 创建目录

c# socket服务端连接多个客户端

c# datatable group by

c# tcp client

c# type.gettype

c# sqlconnection

c# string.format 小数位数

c# invoke方法

.net和c#

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站