websocket握手请求使用c#

本文关键字:请求 websocket | 更新日期: 2023-09-27 18:12:36

我正在用c#写一个websocket客户端。但是我不知道如何在c#中发送websocket握手请求到服务器,以及如何生成sec-websocket-key。

websocket握手请求使用c#

客户端请求示例如下:

GET /chat HTTP/1.1
Host: example.com:8000
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13

服务器响应示例如下:

HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=

查看来自mozilla的websocket服务器代码示例。

在客户端可以使用随机生成器生成密钥。

String secWebSocketKey = Convert.ToBase64String(Encoding.UTF8.GetBytes("WebSocket rocks!"));