c# 调用websocket
时间: 2023-06-30 08:15:32 浏览: 55
可以使用C#的WebSocket类库来调用WebSocket,以下是一个简单的示例代码:
```csharp
using System;
using System.Net.WebSockets;
using System.Threading;
using System.Threading.Tasks;
namespace WebSocketDemo
{
class Program
{
static async Task Main(string[] args)
{
using (var client = new ClientWebSocket())
{
Uri serverUri = new Uri("wss://echo.websocket.org");
await client.ConnectAsync(serverUri, CancellationToken.None);
Console.WriteLine("WebSocket connected!");
while (client.State == WebSocketState.Open)
{
Console.Write("Enter message: ");
string message = Console.ReadLine();
ArraySegment<byte> messageBuffer = new ArraySegment<byte>(System.Text.Encoding.UTF8.GetBytes(message));
await client.SendAsync(messageBuffer, WebSocketMessageType.Text, true, CancellationToken.None);
byte[] receiveBuffer = new byte[1024];
ArraySegment<byte> receiveSegment = new ArraySegment<byte>(receiveBuffer);
WebSocketReceiveResult receiveResult = await client.ReceiveAsync(receiveSegment, CancellationToken.None);
string receiveMessage = System.Text.Encoding.UTF8.GetString(receiveSegment.Array, 0, receiveResult.Count);
Console.WriteLine($"Received message: {receiveMessage}");
}
}
}
}
}
```
在本示例中,我们使用了`ClientWebSocket`类来创建一个WebSocket客户端,并使用`ConnectAsync`方法连接到指定的WebSocket服务器。然后,我们可以使用`SendAsync`方法发送消息,使用`ReceiveAsync`方法接收消息。这个示例连接到了Echo WebSocket服务器,你可以修改服务器地址为你需要连接的WebSocket服务器。