网站首页 > 技术教程 正文
项目上的预警通知,之前是通过前端定时轮询的,性能上存在一定问题,本次希望改成websocket的方式。技术预演使用spirngboot单独部署个后台应用,前端用html测试即可。
后端关键代码:
前端测试html
前端收到后台的消息
后端收到前端的消息。
乍一看,没啥问题,但一分钟后,却自动关闭了,前端出现close.咋回事??
检查nginx配置,配置如下:
location /basic/ {
proxy_set_header Upgrade $http_upgrade; #这是webSocket的配置
proxy_set_header Connection "Upgrade"; #这是webSocket的配置
proxy_http_version 1.1; #这两个最好也设置
proxy_pass http://127.0.0.1:8098/;
}
原来是没有设置proxy_read_timeout,proxy_read_timeout 默认60s断开,
可以把他设置大一点,你可以设置成自己需要的时间,我这里设置的是十分钟(600s).
修改配置如下,重启nginx: nginx.exe -s reload
location /basic/ {
proxy_set_header Upgrade $http_upgrade; #这是webSocket的配置
proxy_set_header Connection "Upgrade"; #这是webSocket的配置
proxy_http_version 1.1; #这两个最好也设置
proxy_read_timeout 6000s;
proxy_pass http://127.0.0.1:8098/;
}
再访问后,6000s内不会超时了,但超过仍然会,所以还是得从根本上解决问题。
连接之所以断掉,是因为在有限的时间内没有通信,如果每隔一定时间,发送和接收内容,那连接便不会断掉,所以需要加入心跳机制,而STOMP 1.1版本的帧,heart-beating(心跳)是默认启用的,默认10秒。也可以自行修改,例如改为5秒发一次消息:
后端也得改造下:
再次尝试,超过6000s后仍然可以收发消息,观察控制台,会有ping\pong类似心脏跳动的输出,5秒一次输出,证明改造成功。
以上就是测试demo,有错误的欢迎指正!!
猜你喜欢
- 2024-10-09 程序员都应该懂的微服务容错与隔离:熔断保护、超时与重试原理
- 2024-10-09 Nginx为什么快到根本停不下来?(nginx解决什么问题)
- 2024-10-09 Nginx代理webSocket经常中断的解决方案,如何保持长连接
- 2024-09-09 怎么测试nginx反向代理(nginx反向代理配置参数)
- 2024-09-09 关于LNMP+Frp内网穿透环境下一个PHP程序运行超时的问题
- 2024-09-09 Nginx反向代理(nginx是干嘛用的)
- 2024-09-09 Nginx这么香,还不知道怎么学?看完这份Nginx笔记你能立马上手
- 2024-09-09 「每天一道面试题」Nginx 502错误原因和解决方法
- 2024-09-09 年轻人你不讲武德,Nginx之负载均衡演示
- 2024-09-09 应用程序加固Nginx篇(如何给应用加固)
你 发表评论:
欢迎- 最近发表
-
- Win11学院:如何在Windows 11上使用WSL安装Ubuntu
- linux移植(Linux移植freemodbus)
- 独家解读:Win10预览版9879为何无法识别硬盘
- 基于Linux系统的本地Yum源搭建与配置(ISO方式、RPM方式)
- Docker镜像瘦身(docker 减小镜像大小)
- 在linux上安装ollama(linux安装locale)
- 渗透测试系统Kali推出Docker镜像(kali linux渗透测试技术详解pdf)
- Linux环境中部署Harbor私有镜像仓库
- linux之间传文件命令之Rsync傻瓜式教程
- 解决ollama在linux中安装或升级时,通过国内镜像缩短安装时长
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)