专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

WebSocket与Tomcat版本兼容问题

WebSocket与Tomcat8.0以下

使用

tomcat自带catalina.jar与tomcat-coyote.jar

方法

通过继承catalina.jar中的WebSocketServlet类作为serverlet拦截前台ws协议的请求,大致关键代码:

createWebSocketInbound(String arg0){
        return new myMessageInbound(users);
}

myMessageInbound是继承MessageInbound的类,里面自带方法onTextMessage、onMessage、onOpen等,即与前台相应方法匹配。

WebSocket与8.0以上

使用

tomcat自带的websocket-api.jar

方法

通过@ServerEndpoint(value = “/xxx”)注解,此时,前台ws协议访问只需是ip+port/xxx,而不需要项目名。该类中,使用websocket-api.jar中的onclose、onopen等方法与前台相应方法匹配。

注意:

1、 Tomcat7.0.38之前版本会出现长链接自动断开,之后的版本修复了这个问题。
2、 tomcat的lib中含有websocket-api.jar,如果你项目是引用的自己的websocket-api.jar,部署到tomcat上后,会导致两个jar冲突(前台一直显示websocket close)。有三种解决方案:

 *  修改tomcat的contxet.xml文件,添加。
 *  直接调用tomcat的lib中的websocket-api.jar。
 *  【推荐】引入Tomcat类库:Add Library->Server Runtime->Apache Tomcat

文章永久链接:https://tech.souyunku.com/19447

未经允许不得转载:搜云库技术团队 » WebSocket与Tomcat版本兼容问题

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们