如何让Chromium发送新的WebSocket握手?

问题描述

| 我在Chromium中遇到了此代码更改。它说Chromium现在支持两种握手版本,代码似乎证实了这一点。我的意思是维基百科的第二个版本(draft-ietf-hybi-thewebsocketprotocol-06)。 但是,当我连接到服务器时,唯一获得的是旧版本,即包括以下标头:
Sec-WebSocket-Key1: 4 @1  46546xW%0l 1 5
Sec-WebSocket-Key2: 12998 5 Y3 1  .P00
但不是新版本,该新版本将是包含以下内容的请求:
Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw==
我在这里想念什么?我下载了最新的每晚版本,并且已经包含了两个多星期,所以我想这可能不是原因。 如何使WebSocket发送新的握手版本?     

解决方法

您发布的代码链接是用于握手的服务器端的(在Chrome浏览器中可能会使用几个地方,例如远程调试和扩展的代理)。 如果您真的想使用新的HyBi-07协议版本,则可以尝试使用我制作的web-socket-js分支。 Chrome切换到新协议后,默认情况下,web-socket-js也将切换。为了使web-socket-js在已经支持WebSockets的浏览器中工作,您需要对其进行一些细微调整,以使用其他对象名称代替WebSocket。 我希望Chrome / WebKit不久就会添加新协议。请注意,添加二进制支持的API更改仅在最近才确定,因此在API完全支持该协议启用的新功能之前,可以添加Chrome新协议。     ,我所知道的唯一实现07协议的浏览器是FF4的此构建: http://www.ducksong.com/misc/websockets-builds/ws-07/     

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...