websocket作为一个可以在客户端和服务端进行全双工通信的协议,在即时通信,直播还有游戏运用十分广泛。但是本人在使用中时常搞不清他与http和TCP之间的联系,因此在这篇文章里将会介绍websocket的建立流程,与HTTP和TCP联系,websocket数据帧结构与解析
websocket的建立websocket并不是像我们想象中类似tcp建立连接的,实际上websocket和http...
当使用 JWT 作为用户认证机制时,Token 有时效性是一个核心设计。默认 token 一旦过期,用户请求就会被拒绝,通常返回 401 Unauthorized。本文将介绍如何在 Nest.js 项目中处理 token 失效的问题,包括 检测、刷新机制和最佳实践。
问题重现UserService 中用以下方式生成了一个有效期为 60 天的 token,但是过期后访问接口就会报错。
1234...
在前端面试中总会遇到面试官问你前端登录鉴权是怎么做的,token的作用是怎么,token过期了怎么办之类的一些问题,那么在在这里就以我的智能协作项目(https://github.com/ztygod/smart-task-platform)做一次简单的梳理。
技术栈
前端:vue,axios
后端:nest.js,mysql,TypeORM
注册阶段在一般项目中我们会输入用户名ID...
在我的那个智能协作系统中,一开始维护了一个简单的useSocket Hook(如下),但是出现问题。这个封装方式导致了socket对同一个事件的多次监听,以至于后端emit事件的时候,前端会对这个事件进行多次响应,无法达到预期。上面代码问题如下:
1. 多个组件共享一个 socket 实例,但都注册 connect/disconnect 监听
如果你多个页面/组件都调用了...
Markdown 语法示例Markdown 是一种轻量级标记语言,适用于写作和排版,广泛用于博客、文档和 GitHub README 文件等。本文将介绍 Markdown 的基本语法。
1. 标题使用 # 号定义标题,# 代表一级标题,## 代表二级标题,以此类推。
123# 一级标题## 二级标题### 三级标题
2. 加粗 & 斜体
加粗 使用 **加粗内容** 或 __加粗内...
回溯介绍回溯定义是:
简单来说,回溯是一种逐步尝试寻找解的过程,如果当前尝试失败,就返回上一步(即“回溯”),尝试其他可能的路径。
可以理解为一个进阶版的递归与树 DFS 的结合。
核心观点
选择 DFS 遍历对象
确定约束条件:DFS 变量结果不可能全部有效,我们需要找到有效的部分,也就是说需要进行“充分剪枝”。
确定 DFS 遍历结束的边界:设定目标,确保回溯能够正确终止。
题目括号...