.NET Core WebSocket 连接指南:快速入门与示例
要在.NET Core中连接WebSocket,你可以使用System.Net.WebSockets命名空间中的WebSocket类。
首先,你需要在你的项目中添加对System.Net.WebSockets的引用。然后,你可以使用以下代码示例连接到WebSocket服务器:
using System;
using System.Net.WebSockets;
using System.Threading;
using System.Threading.Tasks;
public class WebSocketClient
{
private ClientWebSocket client;
public async Task Connect(string url)
{
client = new ClientWebSocket();
await client.ConnectAsync(new Uri(url), CancellationToken.None);
// 连接成功后可以在这里执行一些操作
Console.WriteLine('Connected to WebSocket server');
// 启动接收消息的循环
await ReceiveLoop();
}
private async Task ReceiveLoop()
{
var buffer = new byte[1024];
while (true)
{
var result = await client.ReceiveAsync(new ArraySegment<byte>(buffer), CancellationToken.None);
if (result.MessageType == WebSocketMessageType.Text)
{
var message = System.Text.Encoding.UTF8.GetString(buffer, 0, result.Count);
Console.WriteLine('Received message: ' + message);
}
}
}
public async Task Send(string message)
{
var buffer = new ArraySegment<byte>(System.Text.Encoding.UTF8.GetBytes(message));
await client.SendAsync(buffer, WebSocketMessageType.Text, true, CancellationToken.None);
Console.WriteLine('Sent message: ' + message);
}
public async Task Close()
{
await client.CloseAsync(WebSocketCloseStatus.NormalClosure, 'Connection closed by the client', CancellationToken.None);
Console.WriteLine('WebSocket connection closed');
}
}
使用上述代码,你可以通过调用Connect方法连接到WebSocket服务器,通过调用Send方法发送消息,通过调用Close方法关闭连接。
以下是一个使用上述WebSocketClient类的示例:
using System;
using System.Threading.Tasks;
public class Program
{
public static async Task Main(string[] args)
{
var client = new WebSocketClient();
await client.Connect('wss://example.com');
// 发送一条消息
await client.Send('Hello, WebSocket server!');
// 等待一段时间
await Task.Delay(1000);
// 关闭连接
await client.Close();
}
}
请注意,上述示例中的URL应该是你要连接的WebSocket服务器的URL。
原文地址: http://www.cveoy.top/t/topic/dUxd 著作权归作者所有。请勿转载和采集!