惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
The Blog of Author Tim Ferriss
S
Securelist
D
Docker
The Register - Security
The Register - Security
GbyAI
GbyAI
Recorded Future
Recorded Future
Engineering at Meta
Engineering at Meta
Stack Overflow Blog
Stack Overflow Blog
云风的 BLOG
云风的 BLOG
P
Proofpoint News Feed
罗磊的独立博客
博客园 - 【当耐特】
F
Full Disclosure
WordPress大学
WordPress大学
腾讯CDC
小众软件
小众软件
大猫的无限游戏
大猫的无限游戏
D
DataBreaches.Net
SecWiki News
SecWiki News
L
Lohrmann on Cybersecurity
I
InfoQ
MyScale Blog
MyScale Blog
量子位
Cyberwarzone
Cyberwarzone
博客园 - 三生石上(FineUI控件)
The Hacker News
The Hacker News
F
Fortinet All Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Jina AI
Jina AI
博客园_首页
H
Help Net Security
K
Kaspersky official blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Webroot Blog
Webroot Blog
Blog — PlanetScale
Blog — PlanetScale
V
Vulnerabilities – Threatpost
Y
Y Combinator Blog
The Cloudflare Blog
P
Proofpoint News Feed
V
Visual Studio Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
T
Tailwind CSS Blog
爱范儿
爱范儿
P
Privacy International News Feed
Security Archives - TechRepublic
Security Archives - TechRepublic
The GitHub Blog
The GitHub Blog
C
Cybersecurity and Infrastructure Security Agency CISA
B
Blog RSS Feed

WebSocket

如果有多个 websocket 业务需求,一般情况下后端是建立一个还是多个 websocket 更好? - V2EX webSocket 在项目运动过程中 可以时不时重新连接吗? - V2EX websocket 下载文件的原理是啥? - V2EX websocket 如何投递消息到 http - V2EX 麻烦问个 Java websocket 的性能优化问题(比较基础) - V2EX 请教一下 websocket 实现发图片的方案和保存聊天记录的方案; - V2EX websocket 的 ping/pong 标准是需要服务器主动发 ping? - V2EX [有偿] 原生 app 开发即时通讯 关于 websocket 长链接的问题 - V2EX 请教, websockets 模块起服务, websockets.serve 的方法问题。 - V2EX WebSocket 频繁爆出异常 - V2EX 问一个 websockets 的问题 - V2EX Java 中 websocket 中 session 长久保持打开状态 - V2EX 使用 gevent 作为 Websocket 服务端,浏览器上用 setInterval 定时重复建立 Websocket,结果导致 gevent 不会自动释放之前废弃的连接,内存快要溢出了。怎么自动回收废弃连接呢 - V2EX websocket 在 springsecurity 下结合 jwt 的问题 - V2EX sync-player:使用 websocket 实现异地同步播放视频 - V2EX Websocket 直播间聊天室教程 - GoEasy 快速实现聊天室 - V2EX Uniapp 使用 GoEasy 实现 websocket 实时通讯 - V2EX 搭建 websocket 消息推送服务,必须要考虑的几个问题 - V2EX 最近在看 websocket 的聊天室功能,有个小疑问 - V2EX
问些 websocket 的问题 - V2EX
victimsss · 2023-11-16 · via WebSocket

这是一个创建于 942 天前的主题,其中的信息可能已经有所发展或是发生改变。

目前使用 ws 或者 node-websocket 的库。假如作为一个 websocket client ,业务需求本身是定时推送消息的,是不是没必要维护心跳(及时重连)了,因为我觉得心跳更多是保持活跃防止关闭连接的,而 close 事件已经承担了检测连接状态的功能。 假如只是监听 close 事件来维护重连,会有什么比较大隐患吗,比如连接已经关闭了但是 close 事件不触发(?)

orangie

1

orangie      2023 年 11 月 16 日

有没有一种可能,就是,心跳机制会根据上次发包的时间来决定,业务发包够频繁就不会发心跳,而不是傻傻地固定时间发送。另外,使用 close 事件在关闭后重连的后果是反复新建立连接,这个过程 TCP 握手、TLS 握手、重新分配资源,怎么想怎么不划算。

IvanLi127

2

IvanLi127      2023 年 11 月 16 日 via Android

我印象中,如果没数据交换,状态有可能是不确定的,你想及时确认状态的话,就得有心跳包。如果 client 是浏览器的话,你还得看他怎么实现的,如果不想翻车,还是好好跳吧。

chenluo0429

3

chenluo0429      2023 年 11 月 16 日 via Android

如果你对实时性要求高一些就不行。主动关闭和客户端可感知的网络异常是会有 close 的,但是中间网络链路上的异常,客户端是没法感知的

tool2d

4

tool2d      2023 年 11 月 16 日

别的不知道,浏览器的 close 事件很稳。

WashFreshFresh

5

WashFreshFresh      2023 年 11 月 16 日

心跳是为了维持连接,不是检测连接,等到 close 的时候你只能再重新连接了。

cF06myaQ57WHKMBv

6

cF06myaQ57WHKMBv      2023 年 11 月 16 日

添加应用心跳是为了业务及时检测网络通路的状态,像 1 楼说的,当业务数据交互频繁的时候,可以不发送心跳。如果没有心跳包,完全依赖 websocket or tcp 自带心跳机制,比如 tcp 的 KeepAlive 机制,有时候链路的状态不能完全反应网络是否可用。
举两个场景吧
1 、两个设备已经建立的 TCP 连接,但是链路上没有数据发送,某一时刻网线断了,但是 TCP 的超时心跳还没有触发( TCP 默认的心跳时间会比较长,而且还有重试机制),这时候再把网线连上,这种情况下,两个设备上的应用应该是没有感知的
2 、如果服务端的应用因为某些原因,没有响应,比如 cpu 使用率飙升到 100%,这时候网络状态是好的,但是业务无响应,这个时候客户端该怎么办