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

WebSocket连接失败原因记录 记录一下开发时碰到的一个坑,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.youkuaiyun.com/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

WebSocket连接失败?排查Token验证问题的5个常见原因及解决方案 本文详细解析了WebSocket连接中Token验证失败的5个常见原因及解决方案,包括Header传递失效、Spring Security拦截、Token解析时区问题、连接保持与Token刷新矛盾以及负载均衡环境下的会话保持。通过具体代码示例和配置建议,帮助开发者快速定位并解决WebSocket连接问题,确保实时通信的稳定性。 阅读详情

相关推荐

Nginx反向代理WebSocket连接失败的5个关键配置与排查步骤

本文详细解析了Nginx反向代理WebSocket连接失败的5个关键配置与排查步骤,包括协议升级配置、超时参数优化、版本兼容性检查等。通过实战案例和代码示例,帮助开发者快速解决常见的WebSocket connection failed问题,确保实时通信服务的稳定性。

weixin_29281915的博客 439

【解决】websocket ws连不上或无法连接

ws连接失败如何解决

ruisasaki的博客 3万+

15、WebSocket 应用部署全解析

本文全面解析了 WebSocket 应用的部署策略,涵盖了从 WebSocket API 的实现、网络中间件的影响、反向代理和负载均衡的配置,到 TLS 的部署、心跳机制、容量规划以及操作系统限制调整等多个关键方面。文章还提供了部署流程、常见问题的解决方案以及未来趋势展望,为开发者提供了实用的参考指南。

wdx012345的博客 76

WebSocket 连接失败的原因及解决方法

目前已经成为了一项极为重要的技术,其允许客户端和服务器之间进行实时、全双工的通信。然而,在实际项目中,开发者时常会遇到 WebSocket 连接失败的情况。这不仅影响了用户体验,还可能导致不可预见的系统错误或数据丢失。那么,造成 WebSocket 连接失败的原因有哪些?又该如何解决这些问题呢?本文将逐一分析常见的 WebSocket 连接失败原因,并提供详细的解决方案。

LiamHong_的博客 4万+

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

主要给大家介绍了关于WebSocket部署到服务器出现连接失败问题的分析与解决方法,文中给出了详细的介绍供大家参考学习,文末也给出了demo下载地址,需要的朋友们可以下载学习,下面随着小编来一起学习学习吧。

开发框架Furion之WebApi+SqlSugar (一)

MyFurion.Model项目中,通过Nuget添加Furion、Furion.Extras.DatabaseAccessor.SqlSugar、Furion.Extras.ObjectMapper.Mapster、SqlSugarCore,同时添加对项目MyFurion.Unility的引用。在MyFurion.Start项目中,通过Nuget添加 AspNetCoreRateLimit、System.Linq.Dynamic.Core,同时添加对项目MyFurion.Application的引用。

liwan09的博客 1万+

websocket本地正常,部署到服务器连不上

线上连接错误 解决方法: 1.开放服务器端口 2.用IP地址加端口连接 websocket = new WebSocket(`ws://119.23.41.159:9985/api/bigdata`)

qq_42190640的博客 6681

解决ublox无法定位问题(一直输出$GxTXT)

最近开始研究有关RTK技术的项目,于是先购买了两块ublox公司的NEO-M8T-0型号芯片。(注意NEO-M8T还细分为NEO-M8T-0和NEO-M8T-2,前者不支持RTCM输出,后者支持RTCM输出) 首先都是按常规步骤,直接把芯片模块串口接电脑调试,这边推荐是用官网的u-center调试软件。GPS芯片大多数都是上电后串口自动发送定位等信息,这两块芯片有一块正常情...

众缈之门的博客 7359

客户端连接WebSocket服务器时连接失败会出现的一些问题及解决方案

      前段时间自己在本地写的一个WebSocket程序部署到服务器出现了几个错误,我自己也做了记录和分析,最后总结出来给大家看一下,希望能帮助大家规避掉这些问题。同时给现在正在做WebSocket和正准备想做WebSocket的程序猿多指出一条较为效率的路。 Q1 客户端链接WebSocket服务器时连接失败,报404错误。      排查了地址错误和配置相关后,是因为JAR冲突,因为To...

jonychen1的博客 2万+

MySQL等保三级合规实践:如何安全配置root账户的本地与受信主机登录策略

本文详细介绍了MySQL在等保三级合规框架下如何安全配置root账户的本地与受信主机登录策略。通过分析root账户的特殊保护需求,提供三种安全加固方案,包括限制访问范围、限定登录IP和完全禁止远程登录,并指导创建安全的远程管理账户。文章还涵盖了密码策略强化、日志审计配置和网络层防护等关键合规要求,帮助用户实现MySQL的等保三级全面合规。

weixin_42522964的博客 259

DySAT+: Enhancing Dynamic Graph Representation Learning with Multi-Head Self-Attention and Temporal-

本文深入探讨了DySAT+模型在动态图表示学习中的创新应用,通过多头时空注意力机制和层级信息融合策略,有效解决了动态图数据中的时间维度信息捕捉和结构演变动态适应问题。该模型在社交网络异常检测和金融交易网络分析等场景中表现出色,显著提升了预测准确率和响应速度。

weixin_29035405的博客 335

解决 JumpServer 中 WebSocket 连接失败问题

解决 JumpServer 中 WebSocket 连接失败问题 【免费下载链接】JumpServer 广受欢迎的开源堡垒机 项目地址: https://gitcode.com/feizhiyun/jumpserver ...

gitblog_01410的博客 881

6、深入解析Microsoft 365核心服务对比与迁移策略

本文深入解析了Microsoft 365的核心服务,包括身份和设备管理、现代设备配置体验、Exchange和SharePoint的迁移策略以及Microsoft Teams的协作功能。同时探讨了迁移过程中需要考虑的安全控制措施,为组织规划和实施云迁移项目提供了全面的指导和建议。

k8s6orchestrator的博客 107

Websocket-Rails调试与故障排除:常见问题解决方案大全

Websocket-Rails是一款为Ruby on Rails应用提供即插即用WebSocket支持的强大工具,它允许开发者轻松处理客户端事件,实现实时通信功能。然而在实际使用过程中,开发者可能会遇到各种连接、事件处理或服务器配置相关的问题。本文将系统梳理Websocket-Rails的常见故障类型,并提供实用的解决方案和调试技巧,帮助开发者快速定位并解决问题。 ### 一、连接问题排查指南

gitblog_00503的博客 690

arcgis计算栅格平均值

打开FC栅格数据和非水体矢量数据 利用矢量数据提取对应栅格的非水体部分 2.1打开空间分析工具à提取分析à按掩膜提取 输入对应栅格数据和矢量数据 2.2提取结果如下 进行计算FC平均值 3.1打开空间分析工具à多元分析à波段集统计 输入对应栅格和输出路径 3.2统计结果如下 ...

Z_W_H_的博客 5371

Python在Genesis2000 CAM软件中的编程应用

Genesis2000是一款功能强大的计算机辅助制造(CAM)软件,它提供了广泛的功能和工具,用于帮助制造商进行CAD(计算机辅助设计)到CAM的转换。在Genesis2000中,我们可以利用Python的灵活性和功能来扩展软件的自定义能力,并通过编写脚本来自动化各种制造任务。例如,假设我们需要在Genesis2000中添加一个新的操作,用于自动计算零部件的重量。我们可以编写一个Python脚本,通过遍历模型的几何数据并应用相关的计算公式,来实现这个功能。

PixelEnigma的博客 2423

飞书WebSocket长连接与OpenClaw集成开发指南

WebSocket协议作为现代实时通信的核心技术,通过建立持久化的全双工通道,有效解决了传统HTTP轮询带来的延迟问题。其技术原理基于TCP连接复用,特别适合需要低延迟消息推送的场景,如即时通讯、实时数据监控等。在企业级应用中,飞书平台通过WebSocket API为开发者提供了高效的实时消息处理能力。结合OpenClaw这一AI能力集成框架,开发者可以快速构建智能机器人,实现消息自动响应、内容生成等高级功能。这种技术组合特别适合个人开发者在无公网IP环境下,通过飞书服务器中转实现稳定通信。典型应用场景包括

weixin_33913332的博客 355

Cilium动手实验室: 精通之旅---1.Getting Started with Cilium

我们需要在 HTTP 层的第 7 层实施策略,以限制允许 tiefighter 调用的确切 API,以及不允许调用哪些 API。上仅需要的 API 资源的访问,从而为微服务之间的通信实施“最低权限”安全方法。船只上进行匹配,因此我们需要在该标签上进行匹配,此外,我们必须确保来自带有标签。为了模拟我们的连接测试,我们将使用 curl 执行简单的 API 调用。在我们立即开始更改策略之前,让我们考虑一下相应的网络策略应该是什么样子。的规则,该规则将通过 L3-L4 策略对死星的访问限制为仅帝国船只。

Q先生 1125

C++ WebSocket++实战:解决连接超时、内存泄漏与高并发难题

WebSocket作为一种基于TCP的全双工通信协议,通过HTTP/HTTPS握手升级实现持久连接,其核心价值在于为Web应用提供低延迟、高并发的实时数据传输能力,广泛应用于在线游戏、实时数据推送、物联网和金融交易等场景。在实际工程实践中,开发者常会遇到连接超时、握手失败、内存泄漏及多线程数据竞争等稳定性挑战。本文聚焦C++ WebSocket++库,针对高频搜索词“falling back from websockets to https transport. request timed out”所代表的

cnmik42448的专栏 336

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

本新人开发者遇到的问题#1:Websocket本地连接可行,但是连接外网服务器就会报404

本新人开发者遇到的问题#1:Websocket本地连接可行,但是连接外网服务器就会报404 如题,昨天测试部署到服务器的websocket连接,但是连接直接走了onerror()方法,在网上也查了很多方法,诸如jar包不一致,nginx没有开启websocket穿透等方法,但是都没有用,后来还是负责部署服务器的大佬机智,给nginx加了一句跨域,立马就好了。 不过我暂时还有其他工作要做,没有去搞这个跨域,这里先记下来。 如果同样有新人遇到同样的问题而网上的方法都没用的话,不妨看一下是否nginx跨域没开。

qq_40739092的博客 1722

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Y-WebSocket 开源项目常见问题解决方案

Y-WebSocket 是一个专为 Yjs 设计的 WebSocket 连接器,它支持实时协作应用中的数据同步。此项目采用 JavaScript 编写,适配于前端及Node.js环境,主要目的是实现客户端与服务器之间的高效通信,允许多用户对同一文档进行同步编辑。项目基于MIT许可协议发布,拥有活跃的社区支持。 ## 新手使用注意事项及解决步骤 ### 1. 配置本地开发环境 **问题描述**...

gitblog_01281的博客 892

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

WebSocket实战之三遇上PAC

2、在服务端检测8098端口启动情况,netstat -anp | grep :8098,然后发现监听在8098端口的协议是TCP6,核对出入站访问规则发现只有IP4没有IP6但出入站规则无法设置IP6,然后在在java 命令参数中加入 -Djava.net.preferIPv4Stack=true,重新启动,但仍然无效。8、最后发现我们技术所有人都配置了PAC,因为我们应用部署在AWS悉尼,不配置VPN是访问不了的,把VPN关掉就完全正常。6、代码回滚,回家睡觉,反正数据没有实时刷新也没啥大不了的。

程序员青菜学厨记 557

PartyKit故障排除手册:常见问题及其解决方案

PartyKit是一个强大的实时协作平台,但开发过程中难免会遇到各种问题。本手册将为您提供完整的PartyKit故障排除指南,帮助您快速解决连接问题、部署错误和配置故障。💡 ## 连接问题排查 ### WebSocket连接失败 当您的客户端无法连接到PartyKit服务器时,首先检查网络连接和配置。常见问题包括: - **端口配置错误**:确保partykit.json中的端口设置正确

gitblog_00925的博客 905
上一篇: WebSocket与消息推送
下一篇: WebSocket 前世今生
javaPie
博客等级 码龄16年 1171粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值