MozWebSocket没有响应握手

时间:2012-02-04 15:49:12

标签: firefox google-chrome websocket phpwebsocket

Firefox 10不会接受(我真的不知道?)我的握手。 Offcorse这是Mozilla然后使用MozWebSocket保证WebSocket。我的服务器响应头是:

                $reply = "HTTP/1.1 101 Switching Protocols\r\n" .
                        "Upgrade: websocket\r\n" .
                        "Connection: Upgrade\r\n" .
                        "Sec-WebSocket-Accept: {$accept}\r\n\r\n";

它在Chrome 16下运行完美,但在Firefox上它只是在等待某些东西,即使服务器说而不是握手完成。然后经过一段时间后,客户端进入状态3(DISCONNECT)。

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

您是否确认正在正确阅读开头? Chrome和FireFox之间的websocket握手处理的主要区别在于FireFox通过缓存,接受编码,用户代理等更完整地填充了websocket握手请求。特别是仔细检查“连接”标题,每个RFC可以有多个值并且在FireFox上有效但在Chrome上没有。 FireFox连接头通常如下所示:“连接:保持活动,升级”。这可能会使不期望该标头具有多个值的握手解析器绊倒。

否则你的握手响应看起来对我来说是正确的,假设正确计算了$ accept值,这听起来好像Chrome正在接受它。

答案 1 :(得分:0)

我刚才意识到这是我的Firefox(?)fould。我卸载了FF,删除了整个私有数据(严重的一切!),我已经安装了FF一次......同样的问题!所以我不知道这是我的Windows问题还是某事......没关系......感谢所有事情。