试用过jetty9.0.0.M3和node.js的websocket实现,本来最终决定使用jetty。
最近有安卓的手机(百度T5内核浏览器)访问了一下,连接websocket不成功,在jetty服务端
oejws.WebSocketServerFactory:qtp144278839-14: Unsupported Websocket version: -1
原来WEBSOCKET的协议分为很多版本,具体请查阅http://en.wikipedia.org/wiki/Websocket
大致可分为hixie-* hybi*两大类。
通过node.js的服务端打印信息发现,百度的T5浏览器是采用了hixie-75/-76/hybi-00的协议族,而jetty9不支持
进一步发现,从官方的文档发现,在 9.0.0.M0之后的版本,移除了支持。
http://archive.eclipse.org/jetty/9.0.0.M0/apidocs/ 包含了
HandshakeHixie76的定义
在9.0.0.M3的API里已经看不到
google jetty handlshakehixie76 也看到了官方的说明。