是的,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
方法從服務器接收數據。