分类
C++

Websocket服务器收到客户端握手请求后……

最近打算写一个websocket服务器应用,用来跟js交换数据,网上的关于收到客户端握手请求都是这种描述。

“服务器端在接收到的Sec-WebSocket-Key密钥后追加一段神奇字符串“258EAFA5-E914-47DA-95CA-C5AB0DC85B11”,并将结果进行sha-1哈希,然后再进行base64加密返回给客户端(就是Sec-WebSocket-Key)”

如果直接用sha1编码base64返回客户端是不会成功连接的,要先把sha1编码每两位由16进制数值转换成对应的ascii值转为20个字符的字串,然后再进行base64加密返加给客户端才能完成握手建立连接!