m4r*_*cek 5 php google-chrome websocket
我正在使用lemmingzshadow(web)的PHP Websocket服务器.一切都很好,直到现在.
更新到chrome 20后,如果我想与服务器进行握手,则以此错误结束
Error during WebSocket handshake: Sec-WebSocket-Protocol mismatch 
来自chrome 20的标题
GET /demo HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: gomokulive.eu:8001
Origin: http://www.gomokulive.eu
Sec-WebSocket-Key: s+AMQQu4Q10xH2AKy49byg==
Sec-WebSocket-Version: 13
Sec-WebSocket-Extensions: x-webkit-deflate-frame
标题发回:
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: dMCVYKkF5VRrIouWFW7EYdvfD28=
Sec-WebSocket-Protocol: demo
我认为问题在于来自Chrome 20的"Sec-WebSocket-Extensions:x-webkit-deflate-frame"标题.
知道怎么让它再次运作吗?
kan*_*aka 15
服务器违反了WebSocket协议.Chrome可能只是在版本20中更正确地遵守标准,并且揭示了服务器中的错误.
问题是服务器在响应中发送回"Sec-WebSocket-Protocol"标头,但这仅在客户端在请求中发送相同标头时才合法.如果客户端未发送Sec-WebSocket协议,则服务器应省略响应中的标头.
请参阅rfc6455的第4.2.2节中的/ subprotocol/description
| 归档时间: | 
 | 
| 查看次数: | 6028 次 | 
| 最近记录: |