我正在尝试用php实现WebSocket。在我的台式电脑上它工作正常。但是当我尝试在Android设备上打开我的网站时。我的服务器实现在握手时给出了以下错误。
未定义的索引:Sec-WebSocket-Key
然后我检查了数值。当我使用台式计算机浏览器连接到网站时,Header在标头中包含Sec-WebSocket-Key索引。但是当我从Android设备连接到网站时,Header包含Sec-WebSocket-Key1和Sec-WebSocket-Key2,但没有Sec-WebSocket-Key。因此,它抛出异常。这个问题有什么解决方案吗?我需要两个websokcet实现,一个用于移动,一个用于桌面吗?
提前致谢。
答案 0 :(得分:0)
Sec-WebSocket-Key1
和Sec-WebSocket-Key2
来自websocket提案的早期实验草稿。
http://tools.ietf.org/html/draft-hixie-thewebsocketprotocol-76#section-8.4
这意味着您的Android设备(无论是浏览器还是某些websocket库)不支持最终RFC6455 WebSocket标准。
要知道您的Android设备正在使用的版本......
Sec-WebSocket-Version
标题,如果找到,那就是您的版本。
Sec-WebSocket-Draft
标题,如果找到,那就是您的草稿(非最终版)。版本号在IANA WebSocket版本号注册表中注册。 https://www.iana.org/assignments/websocket/websocket.xml