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