当前位置: 首页 > 编程笔记 >

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

陈开宇
2023-03-14
本文向大家介绍WebSocket部署到服务器出现连接失败问题的分析与解决,包括了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的人太多,附上下载链接:http://xiazai.jb51.net/201710/yuanma/WebSocketDemo(jb51.net).rar

总结

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

 类似资料:
  • 我正在尝试使用无服务器将lambda函数部署到AWS。执行时 无服务器部署--详细 我得到以下错误每次: 无服务器错误--------------------------------------- 出现错误:mainTable-无效的KeySchema:第一个 myserverless.yml如下所示: 你们中有人能帮忙吗? 干杯

  • 我在Ubuntu14.04服务器中安装了mongodb 我无法通过“mongoimport”,“mongodump”,“mongostat”等连接到mongodb。它始终显示“无法访问的服务器” 不知何故,我能够与Mongo Shell建立联系 起初,我怀疑它是否是由我的iptables引起的,所以我刷新了所有iptables规则并为所有接受创建了规则,但它仍然相同 我搜索了stackOverfl

  • 我创建了spring项目来对postgres数据库服务器进行CRUD,但出现了一些错误。 无法获得查询元数据的连接 组织。postgresql。util。PSQLException:连接尝试失败。在org。postgresql。果心v3。连接工厂impl。openConnectionImpl(ConnectionFactoryImpl.java:313)~[postgresql-42.3.1.ja

  • 本文向大家介绍Vue 项目部署到服务器的问题解决方法,包括了Vue 项目部署到服务器的问题解决方法的使用技巧和注意事项,需要的朋友参考一下 相信很多小伙伴在用Vue-cli安装的脚手架开发的时候,在开发环境中项目可以很正常的运行,但是进入到生产环境,编译打包后,放入服务器,项目就不正常了,会出现空白页或者路由跳转404等问题。遇到这些问题不要慌张,正确的配置加上后端的简单配合就可以解决。 如何打包

  • 问题内容: 我使用NodeJS创建了一个应用程序,并且正在使用ws模块。如果我在本地主机上测试该应用程序,则它可以正常工作,并且连接websockets没有任何问题。现在,我已将应用程序上载到Openshift,当我尝试从客户端访问该应用程序时,它返回,这无法建立与Websocket的连接。 如果我在应用程序中拖入腻子, 则会收到 以下消息: 调试:这种类型的响应一定不能有主体。 忽略传递给end

  • 我有一个案例,需要sqoop连接到远程ipaddress mysql。我可以通过启动以下命令从putty连接到mysql: mysql-u ro-p-h x.x.x.x-p 4307订单-启用明文插件 但是,我无法从sqoop连接到远程ip:x.x.x.x我收到通信链路故障错误。我认为此错误的原因可能是:SSL证书在连接到远程服务器时过期。下面是生成的错误日志。即使我在sqoop中关闭了ssl选项