客户端连接WebSocket服务器时连接失败会出现的⼀些问题及解
决⽅案
前段时间⾃⼰在本地写的⼀个WebSocket程序部署到服务器出现了⼏个错误,我⾃⼰也做了记录和分析,最后总结出来给⼤家看⼀下,希望能帮助⼤家规避掉这些问题。同时给现在正在做WebSocket和正准备想做WebSocket的程序猿多指出⼀条较为效率的路。
Q1 客户端链接WebSocket服务器时连接失败,报404错误。
排查了地址错误和配置相关后,是因为JAR冲突,因为Tomcat7及以上,在Tomcat根⽬录的lib⾥已经有了websocket-api.jar,部署项⽬的时候如果项⽬的wen-inf的lib下也有websocket-api-jar会冲突,导致连接不上。
Q2 本地运⾏正常,连接到服务器上时出错
本地环境:JDK1.8(32位)Tomcat8.0
服务器环境:JDK1.8(64位)Tomcat8.0
本地运⾏是正常的,在服务器部署运⾏时可以打开页⾯,并执⾏WebSocket连接失败并关闭的代码。
在Tomcat8部署的项⽬不要导⼊catalina.jar和WebSocket-api.jar这两个包,因为Tomcat8⾃带有这两个包。⾃⼰再导⼊的话会有冲突,还有就是IP写服务器的IP地址,不要写localhost,在调试远程服务器的Websocket程序时,要关闭本地的Tomcat服务器。
Q3 客户端链接WebSocket服务器成功后,测试消息推送获取session失败。(java WebSocket)
session数据错误是什么意思这时⼀定要注意,客户端连接服务器时的地址如果使⽤了localhost:8080/,那么浏览器也⼀定要使⽤localhost:8080/,不然两个请求不是同⼀个session,所以会获取不到。
Q4 WebSocket链接服务器报302错误
链接重定向,可以检查⼀下是不是后台访问机制的问题,还有可以看⼀下是不是URL路径不对。
这是我写的WebSocket程序部署到服务器出现的⼏个错误以及解决⽅法,如果我下次还会⽤到WebSocket这块我可能会选择第三⽅的……不想在这块花太多时间。
现在免费的第三⽅WebSocket服务有很多,我就不⼀⼀列举了,拿个⽐较简单容易上⼿的GoEasy,调⽤了⼀个Rest API就OK了。如果你不是专业做服务器的,我建议可以使⽤这种第三⽅的,⽐较节省时间。
GoEasy地址:
希望这次的解答对你们有所帮助。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。