gpt4 book ai didi

google-chrome-extension - 无法让 websocket 连接在 Chrome 19 中工作

转载 作者:行者123 更新时间:2023-12-04 15:14:20 27 4
gpt4 key购买 nike

我有一个与 Firefox 和 Chrome 18 完美配合的 websocket 客户端/服务器。它不适用于 Chrome 19 beta。我怀疑这是由于这个浏览器现在使用了我的服务器不支持的 deflate-frame 扩展。

Chrome 19 beta 在握手中发送了这个:
“Sec-WebSocket-Extensions:x-webkit-deflate-frame”

我让我的服务器发回:
“Sec-WebSocket-扩展:”

但要么这不是拒绝扩展的正确方法,要么我没有发现其他错误。这是握手中唯一与我从工作浏览器中看到的不同的东西。

编辑:这是一些附加信息。这些是 Wireshark 捕获的握手。

使用 Firefox 12 的握手:

获取/chatserver HTTP/1.1
主持人:(本帖省略)
用户代理:Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0
接受:text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
接受语言:en-us,en;q=0.5
接受编码:gzip,放气
DNT: 1
连接:保持事件,升级
Sec-WebSocket-版本:13
出处:(本帖省略)
Sec-WebSocket-Key:2TKm4ozUQdNP17Lobt7IBg==
Pragma:无缓存
缓存控制:无缓存
升级:websocket

HTTP/1.1 101 交换协议(protocol)
升级:websocket
连接:升级
Sec-WebSocket-Accept: pSUB3BT9YUUd9n3mOeWY/1uVqJE=

使用 Chrome 18 的握手:

获取/chatserver HTTP/1.1
升级:websocket
连接:升级
主持人:(本帖省略)
出处:(本帖省略)
Sec-WebSocket-Key:zuHLEC8pGvAMadarhCLXFA==
Sec-WebSocket-版本:13

HTTP/1.1 101 交换协议(protocol)
升级:websocket
连接:升级
Sec-WebSocket-Accept: LMBSq6Bk9Kiv+zAbQlAL899pfzc=

使用 Chrome 19 的握手:

获取/chatserver HTTP/1.1
升级:websocket
连接:升级
主持人:(本帖省略)
出处:(本帖省略)
Sec-WebSocket-Key:TbwnVcuUiqGgZn7hxvxzvQ==
Sec-WebSocket-版本:13
Sec-WebSocket-Extensions:x-webkit-deflate-frame

HTTP/1.1 101 交换协议(protocol)
升级:websocket
连接:升级
Sec-WebSocket-Accept: D45BJ+Vfydy1Upcs3Hze/nuiaS8=
Sec-WebSocket-扩展:

所有服务器响应都有\r\n 行结尾,并在消息末尾包含一个额外的\r\n。

FF12 和 Chrome18 工作 -- Chrome19 不工作 .在 Chrome19 中,服务器握手响应之后的下一个数据包是 FIN/ACK。连接已关闭。

注意。我也尝试使用连字符作为 Sec-WebSocket-Extensions 值,但这也不起作用。

最佳答案

发现了问题。

首先,服务器响应中的空白 Sec-WebSocket-Extensions 条目产生了“Invalid UTF-8 sequence in header value”错误。删除该条目后,剩余的错误是“A server must not mask any frames that it sends to the client.

事实上,我的服务器实现(PHPWebSocket 的高度修改版本)默认屏蔽它发送的帧。更改此默认行为解决了问题,并且 websocket 连接现在可以在 Chrome 19 中使用。

将 PHPWebSocket 标记添加到此问题,因为这是该项目的问题。

关于google-chrome-extension - 无法让 websocket 连接在 Chrome 19 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10456706/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com