欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

WebSocket部署到服务器出现连接失败问题的分析与解决

程序员文章站 2022-03-25 23:41:08
前言 前段时间在本地写的一个websocket程序部署到服务器上时出错,通过一段时间的研究,终于解决了,所以本文就来给大家分析下并给出解决的方法,下面话不多说了,来一起看...

前言

前段时间在本地写的一个websocket程序部署到服务器上时出错,通过一段时间的研究,终于解决了,所以本文就来给大家分析下并给出解决的方法,下面话不多说了,来一起看看详细的介绍吧。

本地环境是:jdk1.8(32位) tomcat8.0

服务器环境是:jdk1.8(64位) tomcat8.0

本地运行是正常的。

在服务器部署运行时可以打开页面,并执行websocket连接失败并关闭的代码。如图:

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的人太多,附上下载链接:http://xiazai.jb51.net/201710/yuanma/websocketdemo(jb51.net).rar

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。