我正在用c#写一个websocket客户端。但是我不知道如何在c#中发送websocket握手请求到服务器,以及如何生成sec-websocket-key。
客户端请求示例如下:
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!"));