WebSocket部署到服务器出现连接失败问题的分析与解决
前段时间在本地写的一个WebSocket程序部署到服务器上时出错,通过一段时间的研究,终于解决了,所以本文就来给大家分析下并给出解决的方法,下面话不多说了,来一起看看详细的介绍吧。 本地环境是:JDK1.8(32位) Tomcat8.0 服务器环境是:JDK1.8(64位) Tomcat8.0 本地运行是正常的。 在服务器部署运行时可以打开页面,并执行WebSocket连接失败并关闭的代码。如图: 问题解决: 1.在Tomcat8部署的项目不要导入catalina.jar和websocket-api.jar这两个包,因为Tomcat8自带有这两个包。自己再导入的话会冲突。 2. websocket = new WebSocket("ws://192.168.10.119:8080/RMExpertView/test"); IP要写服务器的Ip地址,不要写localhost. 3.调试远程服务器的webSocket程序时,要关闭本地的Tomcat服务器。 问题分析 1.WebSocket的Ip应该指向服务器IP。最终Jsp的代码会在本地浏览器执行,与之连接的IP应该是服务器IP而不该指向本地。 2.包冲突的问题。尤其是Tomcat7升级到Tomcat8的项目尤其要注意。 3.由于WebSocket是长连接,如果本地的服务先跑起来,而后服务器的WebSocket再跑起来,因为webSocket地址中的标识字段相同,所以即使服务器挂掉,即使使用服务器的ip去访问依然可以成功,因为访问的其实是本地的Tomcat服务器。 Demo下载 鉴于跟我寻求Demo的人太多,附上下载链接:(jb51.net).rar (编辑:焦作站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |