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

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

原创  2017年03月16日 11:27:40

前段时间在本地写的一个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");
   
   
  • 1

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://download.csdn.net/download/kerrigeng/9979890

版权声明:本文为博主原创文章,未经博主允许不得转载。
 
qq_28448079
  • qq_28448079
    2017-09-08 11:387楼
  • 老铁,可以给一份demo吗?我的邮箱1045347128@qq.com,谢谢。
  • 回复 
Kerrigeng
u012580998
  • u012580998
    2017-07-19 09:186楼
  • 老铁,用localhost没问题,但是换成IP就出了问题了,你知不知道去哪里修改IP绑定呢?? 谢谢!
  • 回复 
Kerrigeng
u012580998


qq_27633317
  • qq_27633317
    2017-07-11 14:525楼
  • websocket = new WebSocket("ws://192.168.10.119:8080/RMExpertView/test");
    这个ip地址下面的具体位置是怎么看的。比如我现在在本地 websocket = new WebSocket("ws://localhost:8080/websocket");这样就可以了,那到服务器上也就websocket = new WebSocket("ws://ip:8080/websocket");嘛
  • 回复 
Kerrigeng
Stone_OverLooking
Mistyss
Stone_OverLooking
Mistyss
  • Mistyss
    2017-06-01 15:413楼
  • 老铁。。能发一份DEMO和jar包。还有tomcat环境不。
    c102621253@163.com

    我这边做demo的时候 直接 error接着close了
    服务器都没进去。早了一上午百度没找到解决方法。
  • 回复 
Kerrigeng
1
2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值