由 he shancai 在 超过 2 年 之前添加
问题描述:
应用依赖tomcat-catalina、tomcat-coyote包实现ws功能,
本质上是通过依赖包实现的WebSocketServlet让servlet请求的处理,tomcat7的ws使用方式,在tomcat以及AASv9上无法正常使用
原因:
1、websocket用了tomcat相关的包
2、引用tomcat依赖的ws实现最终会tomcat的WsContainer去处理,与其他应用服务器的实现不兼容,建议通过标准化规范修改ws的代码,由上层规范自动寻找对应ws容器
3、项目使用的javax.websocket的依赖 ,是在使用的serverendpoint在tomcat-embed这个依赖下,tomcat的包也是为了支持ws将对应包打包一起的,开发的时候依赖标准包,引入tomcat相关的
导致与其他应用服务器的实现不兼容。
tomcat上的serverendpoint:
解决:改用javax.websocket-api