C# webscoket 交互
时间: 2023-06-20 07:05:33 浏览: 39
C#中可以使用WebSocket类来实现WebSocket交互。以下是一个简单的WebSocket客户端示例代码:
```csharp
using System;
using System.Net.WebSockets;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace WebSocketClient
{
class Program
{
static async Task Main(string[] args)
{
ClientWebSocket webSocket = new ClientWebSocket();
await webSocket.ConnectAsync(new Uri("wss://example.com"), CancellationToken.None);
Console.WriteLine("WebSocket connected");
// 发送消息
string message = "Hello, WebSocket!";
byte[] messageBytes = Encoding.UTF8.GetBytes(message);
await webSocket.SendAsync(new ArraySegment<byte>(messageBytes), WebSocketMessageType.Text, true, CancellationToken.None);
// 接收消息
byte[] receiveBuffer = new byte[1024];
while (webSocket.State == WebSocketState.Open)
{
WebSocketReceiveResult receiveResult = await webSocket.ReceiveAsync(new ArraySegment<byte>(receiveBuffer), CancellationToken.None);
string receivedMessage = Encoding.UTF8.GetString(receiveBuffer, 0, receiveResult.Count);
Console.WriteLine($"Received message: {receivedMessage}");
}
Console.WriteLine("WebSocket closed");
}
}
}
```
在上面的示例中,我们使用ClientWebSocket类连接到WebSocket服务器。然后,我们发送一个文本消息并使用循环接收来自服务器的消息。当WebSocket的状态变为关闭时,循环将退出。